<!DOCTYPE html>

<html lang="en">
<head><meta charset="utf-8"/>
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
<title>Untitled4</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<style type="text/css">
    pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: var(--jp-cell-editor-active-background) }
.highlight { background: var(--jp-cell-editor-background); color: var(--jp-mirror-editor-variable-color) }
.highlight .c { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment */
.highlight .err { color: var(--jp-mirror-editor-error-color) } /* Error */
.highlight .k { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword */
.highlight .o { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator */
.highlight .p { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation */
.highlight .ch { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Multiline */
.highlight .cp { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Single */
.highlight .cs { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Special */
.highlight .kc { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Type */
.highlight .m { color: var(--jp-mirror-editor-number-color) } /* Literal.Number */
.highlight .s { color: var(--jp-mirror-editor-string-color) } /* Literal.String */
.highlight .ow { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator.Word */
.highlight .pm { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation.Marker */
.highlight .w { color: var(--jp-mirror-editor-variable-color) } /* Text.Whitespace */
.highlight .mb { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Bin */
.highlight .mf { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Float */
.highlight .mh { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Hex */
.highlight .mi { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer */
.highlight .mo { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Oct */
.highlight .sa { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Affix */
.highlight .sb { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Backtick */
.highlight .sc { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Char */
.highlight .dl { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Delimiter */
.highlight .sd { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Doc */
.highlight .s2 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Double */
.highlight .se { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Escape */
.highlight .sh { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Heredoc */
.highlight .si { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Interpol */
.highlight .sx { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Other */
.highlight .sr { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Regex */
.highlight .s1 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Single */
.highlight .ss { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Symbol */
.highlight .il { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer.Long */
  </style>
<style type="text/css">
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*
 * Mozilla scrollbar styling
 */

/* use standard opaque scrollbars for most nodes */
[data-jp-theme-scrollbars='true'] {
  scrollbar-color: rgb(var(--jp-scrollbar-thumb-color))
    var(--jp-scrollbar-background-color);
}

/* for code nodes, use a transparent style of scrollbar. These selectors
 * will match lower in the tree, and so will override the above */
[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar,
[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar {
  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
}

/* tiny scrollbar */

.jp-scrollbar-tiny {
  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
  scrollbar-width: thin;
}

/* tiny scrollbar */

.jp-scrollbar-tiny::-webkit-scrollbar,
.jp-scrollbar-tiny::-webkit-scrollbar-corner {
  background-color: transparent;
  height: 4px;
  width: 4px;
}

.jp-scrollbar-tiny::-webkit-scrollbar-thumb {
  background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
}

.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal {
  border-left: 0 solid transparent;
  border-right: 0 solid transparent;
}

.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {
  border-top: 0 solid transparent;
  border-bottom: 0 solid transparent;
}

/*
 * Lumino
 */

.lm-ScrollBar[data-orientation='horizontal'] {
  min-height: 16px;
  max-height: 16px;
  min-width: 45px;
  border-top: 1px solid #a0a0a0;
}

.lm-ScrollBar[data-orientation='vertical'] {
  min-width: 16px;
  max-width: 16px;
  min-height: 45px;
  border-left: 1px solid #a0a0a0;
}

.lm-ScrollBar-button {
  background-color: #f0f0f0;
  background-position: center center;
  min-height: 15px;
  max-height: 15px;
  min-width: 15px;
  max-width: 15px;
}

.lm-ScrollBar-button:hover {
  background-color: #dadada;
}

.lm-ScrollBar-button.lm-mod-active {
  background-color: #cdcdcd;
}

.lm-ScrollBar-track {
  background: #f0f0f0;
}

.lm-ScrollBar-thumb {
  background: #cdcdcd;
}

.lm-ScrollBar-thumb:hover {
  background: #bababa;
}

.lm-ScrollBar-thumb.lm-mod-active {
  background: #a0a0a0;
}

.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb {
  height: 100%;
  min-width: 15px;
  border-left: 1px solid #a0a0a0;
  border-right: 1px solid #a0a0a0;
}

.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb {
  width: 100%;
  min-height: 15px;
  border-top: 1px solid #a0a0a0;
  border-bottom: 1px solid #a0a0a0;
}

.lm-ScrollBar[data-orientation='horizontal']
  .lm-ScrollBar-button[data-action='decrement'] {
  background-image: var(--jp-icon-caret-left);
  background-size: 17px;
}

.lm-ScrollBar[data-orientation='horizontal']
  .lm-ScrollBar-button[data-action='increment'] {
  background-image: var(--jp-icon-caret-right);
  background-size: 17px;
}

.lm-ScrollBar[data-orientation='vertical']
  .lm-ScrollBar-button[data-action='decrement'] {
  background-image: var(--jp-icon-caret-up);
  background-size: 17px;
}

.lm-ScrollBar[data-orientation='vertical']
  .lm-ScrollBar-button[data-action='increment'] {
  background-image: var(--jp-icon-caret-down);
  background-size: 17px;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-Widget {
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}

.lm-Widget.lm-mod-hidden {
  display: none !important;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.lm-AccordionPanel[data-orientation='horizontal'] > .lm-AccordionPanel-title {
  /* Title is rotated for horizontal accordion panel using CSS */
  display: block;
  transform-origin: top left;
  transform: rotate(-90deg) translate(-100%);
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-CommandPalette {
  display: flex;
  flex-direction: column;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-CommandPalette-search {
  flex: 0 0 auto;
}

.lm-CommandPalette-content {
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  min-height: 0;
  overflow: auto;
  list-style-type: none;
}

.lm-CommandPalette-header {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.lm-CommandPalette-item {
  display: flex;
  flex-direction: row;
}

.lm-CommandPalette-itemIcon {
  flex: 0 0 auto;
}

.lm-CommandPalette-itemContent {
  flex: 1 1 auto;
  overflow: hidden;
}

.lm-CommandPalette-itemShortcut {
  flex: 0 0 auto;
}

.lm-CommandPalette-itemLabel {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.lm-close-icon {
  border: 1px solid transparent;
  background-color: transparent;
  position: absolute;
  z-index: 1;
  right: 3%;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 7px 0;
  display: none;
  vertical-align: middle;
  outline: 0;
  cursor: pointer;
}
.lm-close-icon:after {
  content: 'X';
  display: block;
  width: 15px;
  height: 15px;
  text-align: center;
  color: #000;
  font-weight: normal;
  font-size: 12px;
  cursor: pointer;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-DockPanel {
  z-index: 0;
}

.lm-DockPanel-widget {
  z-index: 0;
}

.lm-DockPanel-tabBar {
  z-index: 1;
}

.lm-DockPanel-handle {
  z-index: 2;
}

.lm-DockPanel-handle.lm-mod-hidden {
  display: none !important;
}

.lm-DockPanel-handle:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
}

.lm-DockPanel-handle[data-orientation='horizontal'] {
  cursor: ew-resize;
}

.lm-DockPanel-handle[data-orientation='vertical'] {
  cursor: ns-resize;
}

.lm-DockPanel-handle[data-orientation='horizontal']:after {
  left: 50%;
  min-width: 8px;
  transform: translateX(-50%);
}

.lm-DockPanel-handle[data-orientation='vertical']:after {
  top: 50%;
  min-height: 8px;
  transform: translateY(-50%);
}

.lm-DockPanel-overlay {
  z-index: 3;
  box-sizing: border-box;
  pointer-events: none;
}

.lm-DockPanel-overlay.lm-mod-hidden {
  display: none !important;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-Menu {
  z-index: 10000;
  position: absolute;
  white-space: nowrap;
  overflow-x: hidden;
  overflow-y: auto;
  outline: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-Menu-content {
  margin: 0;
  padding: 0;
  display: table;
  list-style-type: none;
}

.lm-Menu-item {
  display: table-row;
}

.lm-Menu-item.lm-mod-hidden,
.lm-Menu-item.lm-mod-collapsed {
  display: none !important;
}

.lm-Menu-itemIcon,
.lm-Menu-itemSubmenuIcon {
  display: table-cell;
  text-align: center;
}

.lm-Menu-itemLabel {
  display: table-cell;
  text-align: left;
}

.lm-Menu-itemShortcut {
  display: table-cell;
  text-align: right;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-MenuBar {
  outline: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-MenuBar-content {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  list-style-type: none;
}

.lm-MenuBar-item {
  box-sizing: border-box;
}

.lm-MenuBar-itemIcon,
.lm-MenuBar-itemLabel {
  display: inline-block;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-ScrollBar {
  display: flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-ScrollBar[data-orientation='horizontal'] {
  flex-direction: row;
}

.lm-ScrollBar[data-orientation='vertical'] {
  flex-direction: column;
}

.lm-ScrollBar-button {
  box-sizing: border-box;
  flex: 0 0 auto;
}

.lm-ScrollBar-track {
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  flex: 1 1 auto;
}

.lm-ScrollBar-thumb {
  box-sizing: border-box;
  position: absolute;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-SplitPanel-child {
  z-index: 0;
}

.lm-SplitPanel-handle {
  z-index: 1;
}

.lm-SplitPanel-handle.lm-mod-hidden {
  display: none !important;
}

.lm-SplitPanel-handle:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
}

.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle {
  cursor: ew-resize;
}

.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle {
  cursor: ns-resize;
}

.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after {
  left: 50%;
  min-width: 8px;
  transform: translateX(-50%);
}

.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after {
  top: 50%;
  min-height: 8px;
  transform: translateY(-50%);
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-TabBar {
  display: flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-TabBar[data-orientation='horizontal'] {
  flex-direction: row;
  align-items: flex-end;
}

.lm-TabBar[data-orientation='vertical'] {
  flex-direction: column;
  align-items: flex-end;
}

.lm-TabBar-content {
  margin: 0;
  padding: 0;
  display: flex;
  flex: 1 1 auto;
  list-style-type: none;
}

.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content {
  flex-direction: row;
}

.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content {
  flex-direction: column;
}

.lm-TabBar-tab {
  display: flex;
  flex-direction: row;
  box-sizing: border-box;
  overflow: hidden;
  touch-action: none; /* Disable native Drag/Drop */
}

.lm-TabBar-tabIcon,
.lm-TabBar-tabCloseIcon {
  flex: 0 0 auto;
}

.lm-TabBar-tabLabel {
  flex: 1 1 auto;
  overflow: hidden;
  white-space: nowrap;
}

.lm-TabBar-tabInput {
  user-select: all;
  width: 100%;
  box-sizing: border-box;
}

.lm-TabBar-tab.lm-mod-hidden {
  display: none !important;
}

.lm-TabBar-addButton.lm-mod-hidden {
  display: none !important;
}

.lm-TabBar.lm-mod-dragging .lm-TabBar-tab {
  position: relative;
}

.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab {
  left: 0;
  transition: left 150ms ease;
}

.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab {
  top: 0;
  transition: top 150ms ease;
}

.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging {
  transition: none;
}

.lm-TabBar-tabLabel .lm-TabBar-tabInput {
  user-select: all;
  width: 100%;
  box-sizing: border-box;
  background: inherit;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-TabPanel-tabBar {
  z-index: 1;
}

.lm-TabPanel-stackedPanel {
  z-index: 0;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Collapse {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.jp-Collapse-header {
  padding: 1px 12px;
  background-color: var(--jp-layout-color1);
  border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
  color: var(--jp-ui-font-color1);
  cursor: pointer;
  display: flex;
  align-items: center;
  font-size: var(--jp-ui-font-size0);
  font-weight: 600;
  text-transform: uppercase;
  user-select: none;
}

.jp-Collapser-icon {
  height: 16px;
}

.jp-Collapse-header-collapsed .jp-Collapser-icon {
  transform: rotate(-90deg);
  margin: auto 0;
}

.jp-Collapser-title {
  line-height: 25px;
}

.jp-Collapse-contents {
  padding: 0 12px;
  background-color: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  overflow: auto;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* This file was auto-generated by ensureUiComponents() in @jupyterlab/buildutils */

/**
 * (DEPRECATED) Support for consuming icons as CSS background images
 */

/* Icons urls */

:root {
  --jp-icon-add-above: url();
  --jp-icon-add-below: url();
  --jp-icon-add: url();
  --jp-icon-bell: url();
  --jp-icon-bug-dot: url();
  --jp-icon-bug: url();
  --jp-icon-build: url();
  --jp-icon-caret-down-empty-thin: url();
  --jp-icon-caret-down-empty: url();
  --jp-icon-caret-down: url();
  --jp-icon-caret-left: url();
  --jp-icon-caret-right: url();
  --jp-icon-caret-up-empty-thin: url();
  --jp-icon-caret-up: url();
  --jp-icon-case-sensitive: url();
  --jp-icon-check: url();
  --jp-icon-circle-empty: url();
  --jp-icon-circle: url();
  --jp-icon-clear: url();
  --jp-icon-close: url();
  --jp-icon-code-check: url();
  --jp-icon-code: url();
  --jp-icon-collapse-all: url();
  --jp-icon-console: url();
  --jp-icon-copy: url();
  --jp-icon-copyright: url();
  --jp-icon-cut: url();
  --jp-icon-delete: url();
  --jp-icon-download: url();
  --jp-icon-duplicate: url();
  --jp-icon-edit: url();
  --jp-icon-ellipses: url();
  --jp-icon-error: url();
  --jp-icon-expand-all: url();
  --jp-icon-extension: url();
  --jp-icon-fast-forward: url();
  --jp-icon-file-upload: url();
  --jp-icon-file: url();
  --jp-icon-filter-dot: url();
  --jp-icon-filter-list: url();
  --jp-icon-filter: url();
  --jp-icon-folder-favorite: url();
  --jp-icon-folder: url();
  --jp-icon-home: url();
  --jp-icon-html5: url();
  --jp-icon-image: url();
  --jp-icon-info: url();
  --jp-icon-inspector: url();
  --jp-icon-json: url();
  --jp-icon-julia: url();
  --jp-icon-jupyter-favicon: url();
  --jp-icon-jupyter: url();
  --jp-icon-jupyterlab-wordmark: url();
  --jp-icon-kernel: url();
  --jp-icon-keyboard: url();
  --jp-icon-launch: url();
  --jp-icon-launcher: url();
  --jp-icon-line-form: url();
  --jp-icon-link: url();
  --jp-icon-list: url();
  --jp-icon-markdown: url();
  --jp-icon-move-down: url();
  --jp-icon-move-up: url();
  --jp-icon-new-folder: url();
  --jp-icon-not-trusted: url();
  --jp-icon-notebook: url();
  --jp-icon-numbering: url();
  --jp-icon-offline-bolt: url();
  --jp-icon-palette: url();
  --jp-icon-paste: url();
  --jp-icon-pdf: url();
  --jp-icon-python: url();
  --jp-icon-r-kernel: url();
  --jp-icon-react: url();
  --jp-icon-redo: url();
  --jp-icon-refresh: url();
  --jp-icon-regex: url();
  --jp-icon-run: url();
  --jp-icon-running: url();
  --jp-icon-save: url();
  --jp-icon-search: url();
  --jp-icon-settings: url();
  --jp-icon-share: url();
  --jp-icon-spreadsheet: url();
  --jp-icon-stop: url();
  --jp-icon-tab: url();
  --jp-icon-table-rows: url();
  --jp-icon-tag: url();
  --jp-icon-terminal: url();
  --jp-icon-text-editor: url();
  --jp-icon-toc: url();
  --jp-icon-tree-view: url();
  --jp-icon-trusted: url();
  --jp-icon-undo: url();
  --jp-icon-user: url();
  --jp-icon-users: url();
  --jp-icon-vega: url();
  --jp-icon-word: url();
  --jp-icon-yaml: url();
}

/* Icon CSS class declarations */

.jp-AddAboveIcon {
  background-image: var(--jp-icon-add-above);
}

.jp-AddBelowIcon {
  background-image: var(--jp-icon-add-below);
}

.jp-AddIcon {
  background-image: var(--jp-icon-add);
}

.jp-BellIcon {
  background-image: var(--jp-icon-bell);
}

.jp-BugDotIcon {
  background-image: var(--jp-icon-bug-dot);
}

.jp-BugIcon {
  background-image: var(--jp-icon-bug);
}

.jp-BuildIcon {
  background-image: var(--jp-icon-build);
}

.jp-CaretDownEmptyIcon {
  background-image: var(--jp-icon-caret-down-empty);
}

.jp-CaretDownEmptyThinIcon {
  background-image: var(--jp-icon-caret-down-empty-thin);
}

.jp-CaretDownIcon {
  background-image: var(--jp-icon-caret-down);
}

.jp-CaretLeftIcon {
  background-image: var(--jp-icon-caret-left);
}

.jp-CaretRightIcon {
  background-image: var(--jp-icon-caret-right);
}

.jp-CaretUpEmptyThinIcon {
  background-image: var(--jp-icon-caret-up-empty-thin);
}

.jp-CaretUpIcon {
  background-image: var(--jp-icon-caret-up);
}

.jp-CaseSensitiveIcon {
  background-image: var(--jp-icon-case-sensitive);
}

.jp-CheckIcon {
  background-image: var(--jp-icon-check);
}

.jp-CircleEmptyIcon {
  background-image: var(--jp-icon-circle-empty);
}

.jp-CircleIcon {
  background-image: var(--jp-icon-circle);
}

.jp-ClearIcon {
  background-image: var(--jp-icon-clear);
}

.jp-CloseIcon {
  background-image: var(--jp-icon-close);
}

.jp-CodeCheckIcon {
  background-image: var(--jp-icon-code-check);
}

.jp-CodeIcon {
  background-image: var(--jp-icon-code);
}

.jp-CollapseAllIcon {
  background-image: var(--jp-icon-collapse-all);
}

.jp-ConsoleIcon {
  background-image: var(--jp-icon-console);
}

.jp-CopyIcon {
  background-image: var(--jp-icon-copy);
}

.jp-CopyrightIcon {
  background-image: var(--jp-icon-copyright);
}

.jp-CutIcon {
  background-image: var(--jp-icon-cut);
}

.jp-DeleteIcon {
  background-image: var(--jp-icon-delete);
}

.jp-DownloadIcon {
  background-image: var(--jp-icon-download);
}

.jp-DuplicateIcon {
  background-image: var(--jp-icon-duplicate);
}

.jp-EditIcon {
  background-image: var(--jp-icon-edit);
}

.jp-EllipsesIcon {
  background-image: var(--jp-icon-ellipses);
}

.jp-ErrorIcon {
  background-image: var(--jp-icon-error);
}

.jp-ExpandAllIcon {
  background-image: var(--jp-icon-expand-all);
}

.jp-ExtensionIcon {
  background-image: var(--jp-icon-extension);
}

.jp-FastForwardIcon {
  background-image: var(--jp-icon-fast-forward);
}

.jp-FileIcon {
  background-image: var(--jp-icon-file);
}

.jp-FileUploadIcon {
  background-image: var(--jp-icon-file-upload);
}

.jp-FilterDotIcon {
  background-image: var(--jp-icon-filter-dot);
}

.jp-FilterIcon {
  background-image: var(--jp-icon-filter);
}

.jp-FilterListIcon {
  background-image: var(--jp-icon-filter-list);
}

.jp-FolderFavoriteIcon {
  background-image: var(--jp-icon-folder-favorite);
}

.jp-FolderIcon {
  background-image: var(--jp-icon-folder);
}

.jp-HomeIcon {
  background-image: var(--jp-icon-home);
}

.jp-Html5Icon {
  background-image: var(--jp-icon-html5);
}

.jp-ImageIcon {
  background-image: var(--jp-icon-image);
}

.jp-InfoIcon {
  background-image: var(--jp-icon-info);
}

.jp-InspectorIcon {
  background-image: var(--jp-icon-inspector);
}

.jp-JsonIcon {
  background-image: var(--jp-icon-json);
}

.jp-JuliaIcon {
  background-image: var(--jp-icon-julia);
}

.jp-JupyterFaviconIcon {
  background-image: var(--jp-icon-jupyter-favicon);
}

.jp-JupyterIcon {
  background-image: var(--jp-icon-jupyter);
}

.jp-JupyterlabWordmarkIcon {
  background-image: var(--jp-icon-jupyterlab-wordmark);
}

.jp-KernelIcon {
  background-image: var(--jp-icon-kernel);
}

.jp-KeyboardIcon {
  background-image: var(--jp-icon-keyboard);
}

.jp-LaunchIcon {
  background-image: var(--jp-icon-launch);
}

.jp-LauncherIcon {
  background-image: var(--jp-icon-launcher);
}

.jp-LineFormIcon {
  background-image: var(--jp-icon-line-form);
}

.jp-LinkIcon {
  background-image: var(--jp-icon-link);
}

.jp-ListIcon {
  background-image: var(--jp-icon-list);
}

.jp-MarkdownIcon {
  background-image: var(--jp-icon-markdown);
}

.jp-MoveDownIcon {
  background-image: var(--jp-icon-move-down);
}

.jp-MoveUpIcon {
  background-image: var(--jp-icon-move-up);
}

.jp-NewFolderIcon {
  background-image: var(--jp-icon-new-folder);
}

.jp-NotTrustedIcon {
  background-image: var(--jp-icon-not-trusted);
}

.jp-NotebookIcon {
  background-image: var(--jp-icon-notebook);
}

.jp-NumberingIcon {
  background-image: var(--jp-icon-numbering);
}

.jp-OfflineBoltIcon {
  background-image: var(--jp-icon-offline-bolt);
}

.jp-PaletteIcon {
  background-image: var(--jp-icon-palette);
}

.jp-PasteIcon {
  background-image: var(--jp-icon-paste);
}

.jp-PdfIcon {
  background-image: var(--jp-icon-pdf);
}

.jp-PythonIcon {
  background-image: var(--jp-icon-python);
}

.jp-RKernelIcon {
  background-image: var(--jp-icon-r-kernel);
}

.jp-ReactIcon {
  background-image: var(--jp-icon-react);
}

.jp-RedoIcon {
  background-image: var(--jp-icon-redo);
}

.jp-RefreshIcon {
  background-image: var(--jp-icon-refresh);
}

.jp-RegexIcon {
  background-image: var(--jp-icon-regex);
}

.jp-RunIcon {
  background-image: var(--jp-icon-run);
}

.jp-RunningIcon {
  background-image: var(--jp-icon-running);
}

.jp-SaveIcon {
  background-image: var(--jp-icon-save);
}

.jp-SearchIcon {
  background-image: var(--jp-icon-search);
}

.jp-SettingsIcon {
  background-image: var(--jp-icon-settings);
}

.jp-ShareIcon {
  background-image: var(--jp-icon-share);
}

.jp-SpreadsheetIcon {
  background-image: var(--jp-icon-spreadsheet);
}

.jp-StopIcon {
  background-image: var(--jp-icon-stop);
}

.jp-TabIcon {
  background-image: var(--jp-icon-tab);
}

.jp-TableRowsIcon {
  background-image: var(--jp-icon-table-rows);
}

.jp-TagIcon {
  background-image: var(--jp-icon-tag);
}

.jp-TerminalIcon {
  background-image: var(--jp-icon-terminal);
}

.jp-TextEditorIcon {
  background-image: var(--jp-icon-text-editor);
}

.jp-TocIcon {
  background-image: var(--jp-icon-toc);
}

.jp-TreeViewIcon {
  background-image: var(--jp-icon-tree-view);
}

.jp-TrustedIcon {
  background-image: var(--jp-icon-trusted);
}

.jp-UndoIcon {
  background-image: var(--jp-icon-undo);
}

.jp-UserIcon {
  background-image: var(--jp-icon-user);
}

.jp-UsersIcon {
  background-image: var(--jp-icon-users);
}

.jp-VegaIcon {
  background-image: var(--jp-icon-vega);
}

.jp-WordIcon {
  background-image: var(--jp-icon-word);
}

.jp-YamlIcon {
  background-image: var(--jp-icon-yaml);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/**
 * (DEPRECATED) Support for consuming icons as CSS background images
 */

.jp-Icon,
.jp-MaterialIcon {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 16px;
  min-width: 16px;
  min-height: 16px;
}

.jp-Icon-cover {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/**
 * (DEPRECATED) Support for specific CSS icon sizes
 */

.jp-Icon-16 {
  background-size: 16px;
  min-width: 16px;
  min-height: 16px;
}

.jp-Icon-18 {
  background-size: 18px;
  min-width: 18px;
  min-height: 18px;
}

.jp-Icon-20 {
  background-size: 20px;
  min-width: 20px;
  min-height: 20px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.lm-TabBar .lm-TabBar-addButton {
  align-items: center;
  display: flex;
  padding: 4px;
  padding-bottom: 5px;
  margin-right: 1px;
  background-color: var(--jp-layout-color2);
}

.lm-TabBar .lm-TabBar-addButton:hover {
  background-color: var(--jp-layout-color1);
}

.lm-DockPanel-tabBar .lm-TabBar-tab {
  width: var(--jp-private-horizontal-tab-width);
}

.lm-DockPanel-tabBar .lm-TabBar-content {
  flex: unset;
}

.lm-DockPanel-tabBar[data-orientation='horizontal'] {
  flex: 1 1 auto;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/**
 * Support for icons as inline SVG HTMLElements
 */

/* recolor the primary elements of an icon */
.jp-icon0[fill] {
  fill: var(--jp-inverse-layout-color0);
}

.jp-icon1[fill] {
  fill: var(--jp-inverse-layout-color1);
}

.jp-icon2[fill] {
  fill: var(--jp-inverse-layout-color2);
}

.jp-icon3[fill] {
  fill: var(--jp-inverse-layout-color3);
}

.jp-icon4[fill] {
  fill: var(--jp-inverse-layout-color4);
}

.jp-icon0[stroke] {
  stroke: var(--jp-inverse-layout-color0);
}

.jp-icon1[stroke] {
  stroke: var(--jp-inverse-layout-color1);
}

.jp-icon2[stroke] {
  stroke: var(--jp-inverse-layout-color2);
}

.jp-icon3[stroke] {
  stroke: var(--jp-inverse-layout-color3);
}

.jp-icon4[stroke] {
  stroke: var(--jp-inverse-layout-color4);
}

/* recolor the accent elements of an icon */
.jp-icon-accent0[fill] {
  fill: var(--jp-layout-color0);
}

.jp-icon-accent1[fill] {
  fill: var(--jp-layout-color1);
}

.jp-icon-accent2[fill] {
  fill: var(--jp-layout-color2);
}

.jp-icon-accent3[fill] {
  fill: var(--jp-layout-color3);
}

.jp-icon-accent4[fill] {
  fill: var(--jp-layout-color4);
}

.jp-icon-accent0[stroke] {
  stroke: var(--jp-layout-color0);
}

.jp-icon-accent1[stroke] {
  stroke: var(--jp-layout-color1);
}

.jp-icon-accent2[stroke] {
  stroke: var(--jp-layout-color2);
}

.jp-icon-accent3[stroke] {
  stroke: var(--jp-layout-color3);
}

.jp-icon-accent4[stroke] {
  stroke: var(--jp-layout-color4);
}

/* set the color of an icon to transparent */
.jp-icon-none[fill] {
  fill: none;
}

.jp-icon-none[stroke] {
  stroke: none;
}

/* brand icon colors. Same for light and dark */
.jp-icon-brand0[fill] {
  fill: var(--jp-brand-color0);
}

.jp-icon-brand1[fill] {
  fill: var(--jp-brand-color1);
}

.jp-icon-brand2[fill] {
  fill: var(--jp-brand-color2);
}

.jp-icon-brand3[fill] {
  fill: var(--jp-brand-color3);
}

.jp-icon-brand4[fill] {
  fill: var(--jp-brand-color4);
}

.jp-icon-brand0[stroke] {
  stroke: var(--jp-brand-color0);
}

.jp-icon-brand1[stroke] {
  stroke: var(--jp-brand-color1);
}

.jp-icon-brand2[stroke] {
  stroke: var(--jp-brand-color2);
}

.jp-icon-brand3[stroke] {
  stroke: var(--jp-brand-color3);
}

.jp-icon-brand4[stroke] {
  stroke: var(--jp-brand-color4);
}

/* warn icon colors. Same for light and dark */
.jp-icon-warn0[fill] {
  fill: var(--jp-warn-color0);
}

.jp-icon-warn1[fill] {
  fill: var(--jp-warn-color1);
}

.jp-icon-warn2[fill] {
  fill: var(--jp-warn-color2);
}

.jp-icon-warn3[fill] {
  fill: var(--jp-warn-color3);
}

.jp-icon-warn0[stroke] {
  stroke: var(--jp-warn-color0);
}

.jp-icon-warn1[stroke] {
  stroke: var(--jp-warn-color1);
}

.jp-icon-warn2[stroke] {
  stroke: var(--jp-warn-color2);
}

.jp-icon-warn3[stroke] {
  stroke: var(--jp-warn-color3);
}

/* icon colors that contrast well with each other and most backgrounds */
.jp-icon-contrast0[fill] {
  fill: var(--jp-icon-contrast-color0);
}

.jp-icon-contrast1[fill] {
  fill: var(--jp-icon-contrast-color1);
}

.jp-icon-contrast2[fill] {
  fill: var(--jp-icon-contrast-color2);
}

.jp-icon-contrast3[fill] {
  fill: var(--jp-icon-contrast-color3);
}

.jp-icon-contrast0[stroke] {
  stroke: var(--jp-icon-contrast-color0);
}

.jp-icon-contrast1[stroke] {
  stroke: var(--jp-icon-contrast-color1);
}

.jp-icon-contrast2[stroke] {
  stroke: var(--jp-icon-contrast-color2);
}

.jp-icon-contrast3[stroke] {
  stroke: var(--jp-icon-contrast-color3);
}

.jp-icon-dot[fill] {
  fill: var(--jp-warn-color0);
}

.jp-jupyter-icon-color[fill] {
  fill: var(--jp-jupyter-icon-color, var(--jp-warn-color0));
}

.jp-notebook-icon-color[fill] {
  fill: var(--jp-notebook-icon-color, var(--jp-warn-color0));
}

.jp-json-icon-color[fill] {
  fill: var(--jp-json-icon-color, var(--jp-warn-color1));
}

.jp-console-icon-color[fill] {
  fill: var(--jp-console-icon-color, white);
}

.jp-console-icon-background-color[fill] {
  fill: var(--jp-console-icon-background-color, var(--jp-brand-color1));
}

.jp-terminal-icon-color[fill] {
  fill: var(--jp-terminal-icon-color, var(--jp-layout-color2));
}

.jp-terminal-icon-background-color[fill] {
  fill: var(
    --jp-terminal-icon-background-color,
    var(--jp-inverse-layout-color2)
  );
}

.jp-text-editor-icon-color[fill] {
  fill: var(--jp-text-editor-icon-color, var(--jp-inverse-layout-color3));
}

.jp-inspector-icon-color[fill] {
  fill: var(--jp-inspector-icon-color, var(--jp-inverse-layout-color3));
}

/* CSS for icons in selected filebrowser listing items */
.jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill] {
  fill: #fff;
}

.jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill] {
  fill: var(--jp-brand-color1);
}

/* stylelint-disable selector-max-class, selector-max-compound-selectors */

/**
* TODO: come up with non css-hack solution for showing the busy icon on top
*  of the close icon
* CSS for complex behavior of close icon of tabs in the main area tabbar
*/
.lm-DockPanel-tabBar
  .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
  > .lm-TabBar-tabCloseIcon
  > :not(:hover)
  > .jp-icon3[fill] {
  fill: none;
}

.lm-DockPanel-tabBar
  .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
  > .lm-TabBar-tabCloseIcon
  > :not(:hover)
  > .jp-icon-busy[fill] {
  fill: var(--jp-inverse-layout-color3);
}

/* stylelint-enable selector-max-class, selector-max-compound-selectors */

/* CSS for icons in status bar */
#jp-main-statusbar .jp-mod-selected .jp-icon-selectable[fill] {
  fill: #fff;
}

#jp-main-statusbar .jp-mod-selected .jp-icon-selectable-inverse[fill] {
  fill: var(--jp-brand-color1);
}

/* special handling for splash icon CSS. While the theme CSS reloads during
   splash, the splash icon can loose theming. To prevent that, we set a
   default for its color variable */
:root {
  --jp-warn-color0: var(--md-orange-700);
}

/* not sure what to do with this one, used in filebrowser listing */
.jp-DragIcon {
  margin-right: 4px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/**
 * Support for alt colors for icons as inline SVG HTMLElements
 */

/* alt recolor the primary elements of an icon */
.jp-icon-alt .jp-icon0[fill] {
  fill: var(--jp-layout-color0);
}

.jp-icon-alt .jp-icon1[fill] {
  fill: var(--jp-layout-color1);
}

.jp-icon-alt .jp-icon2[fill] {
  fill: var(--jp-layout-color2);
}

.jp-icon-alt .jp-icon3[fill] {
  fill: var(--jp-layout-color3);
}

.jp-icon-alt .jp-icon4[fill] {
  fill: var(--jp-layout-color4);
}

.jp-icon-alt .jp-icon0[stroke] {
  stroke: var(--jp-layout-color0);
}

.jp-icon-alt .jp-icon1[stroke] {
  stroke: var(--jp-layout-color1);
}

.jp-icon-alt .jp-icon2[stroke] {
  stroke: var(--jp-layout-color2);
}

.jp-icon-alt .jp-icon3[stroke] {
  stroke: var(--jp-layout-color3);
}

.jp-icon-alt .jp-icon4[stroke] {
  stroke: var(--jp-layout-color4);
}

/* alt recolor the accent elements of an icon */
.jp-icon-alt .jp-icon-accent0[fill] {
  fill: var(--jp-inverse-layout-color0);
}

.jp-icon-alt .jp-icon-accent1[fill] {
  fill: var(--jp-inverse-layout-color1);
}

.jp-icon-alt .jp-icon-accent2[fill] {
  fill: var(--jp-inverse-layout-color2);
}

.jp-icon-alt .jp-icon-accent3[fill] {
  fill: var(--jp-inverse-layout-color3);
}

.jp-icon-alt .jp-icon-accent4[fill] {
  fill: var(--jp-inverse-layout-color4);
}

.jp-icon-alt .jp-icon-accent0[stroke] {
  stroke: var(--jp-inverse-layout-color0);
}

.jp-icon-alt .jp-icon-accent1[stroke] {
  stroke: var(--jp-inverse-layout-color1);
}

.jp-icon-alt .jp-icon-accent2[stroke] {
  stroke: var(--jp-inverse-layout-color2);
}

.jp-icon-alt .jp-icon-accent3[stroke] {
  stroke: var(--jp-inverse-layout-color3);
}

.jp-icon-alt .jp-icon-accent4[stroke] {
  stroke: var(--jp-inverse-layout-color4);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-icon-hoverShow:not(:hover) .jp-icon-hoverShow-content {
  display: none !important;
}

/**
 * Support for hover colors for icons as inline SVG HTMLElements
 */

/**
 * regular colors
 */

/* recolor the primary elements of an icon */
.jp-icon-hover :hover .jp-icon0-hover[fill] {
  fill: var(--jp-inverse-layout-color0);
}

.jp-icon-hover :hover .jp-icon1-hover[fill] {
  fill: var(--jp-inverse-layout-color1);
}

.jp-icon-hover :hover .jp-icon2-hover[fill] {
  fill: var(--jp-inverse-layout-color2);
}

.jp-icon-hover :hover .jp-icon3-hover[fill] {
  fill: var(--jp-inverse-layout-color3);
}

.jp-icon-hover :hover .jp-icon4-hover[fill] {
  fill: var(--jp-inverse-layout-color4);
}

.jp-icon-hover :hover .jp-icon0-hover[stroke] {
  stroke: var(--jp-inverse-layout-color0);
}

.jp-icon-hover :hover .jp-icon1-hover[stroke] {
  stroke: var(--jp-inverse-layout-color1);
}

.jp-icon-hover :hover .jp-icon2-hover[stroke] {
  stroke: var(--jp-inverse-layout-color2);
}

.jp-icon-hover :hover .jp-icon3-hover[stroke] {
  stroke: var(--jp-inverse-layout-color3);
}

.jp-icon-hover :hover .jp-icon4-hover[stroke] {
  stroke: var(--jp-inverse-layout-color4);
}

/* recolor the accent elements of an icon */
.jp-icon-hover :hover .jp-icon-accent0-hover[fill] {
  fill: var(--jp-layout-color0);
}

.jp-icon-hover :hover .jp-icon-accent1-hover[fill] {
  fill: var(--jp-layout-color1);
}

.jp-icon-hover :hover .jp-icon-accent2-hover[fill] {
  fill: var(--jp-layout-color2);
}

.jp-icon-hover :hover .jp-icon-accent3-hover[fill] {
  fill: var(--jp-layout-color3);
}

.jp-icon-hover :hover .jp-icon-accent4-hover[fill] {
  fill: var(--jp-layout-color4);
}

.jp-icon-hover :hover .jp-icon-accent0-hover[stroke] {
  stroke: var(--jp-layout-color0);
}

.jp-icon-hover :hover .jp-icon-accent1-hover[stroke] {
  stroke: var(--jp-layout-color1);
}

.jp-icon-hover :hover .jp-icon-accent2-hover[stroke] {
  stroke: var(--jp-layout-color2);
}

.jp-icon-hover :hover .jp-icon-accent3-hover[stroke] {
  stroke: var(--jp-layout-color3);
}

.jp-icon-hover :hover .jp-icon-accent4-hover[stroke] {
  stroke: var(--jp-layout-color4);
}

/* set the color of an icon to transparent */
.jp-icon-hover :hover .jp-icon-none-hover[fill] {
  fill: none;
}

.jp-icon-hover :hover .jp-icon-none-hover[stroke] {
  stroke: none;
}

/**
 * inverse colors
 */

/* inverse recolor the primary elements of an icon */
.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[fill] {
  fill: var(--jp-layout-color0);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[fill] {
  fill: var(--jp-layout-color1);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[fill] {
  fill: var(--jp-layout-color2);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[fill] {
  fill: var(--jp-layout-color3);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[fill] {
  fill: var(--jp-layout-color4);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[stroke] {
  stroke: var(--jp-layout-color0);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[stroke] {
  stroke: var(--jp-layout-color1);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[stroke] {
  stroke: var(--jp-layout-color2);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[stroke] {
  stroke: var(--jp-layout-color3);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[stroke] {
  stroke: var(--jp-layout-color4);
}

/* inverse recolor the accent elements of an icon */
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[fill] {
  fill: var(--jp-inverse-layout-color0);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[fill] {
  fill: var(--jp-inverse-layout-color1);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[fill] {
  fill: var(--jp-inverse-layout-color2);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[fill] {
  fill: var(--jp-inverse-layout-color3);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[fill] {
  fill: var(--jp-inverse-layout-color4);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[stroke] {
  stroke: var(--jp-inverse-layout-color0);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[stroke] {
  stroke: var(--jp-inverse-layout-color1);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[stroke] {
  stroke: var(--jp-inverse-layout-color2);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[stroke] {
  stroke: var(--jp-inverse-layout-color3);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[stroke] {
  stroke: var(--jp-inverse-layout-color4);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-IFrame {
  width: 100%;
  height: 100%;
}

.jp-IFrame > iframe {
  border: none;
}

/*
When drag events occur, `lm-mod-override-cursor` is added to the body.
Because iframes steal all cursor events, the following two rules are necessary
to suppress pointer events while resize drags are occurring. There may be a
better solution to this problem.
*/
body.lm-mod-override-cursor .jp-IFrame {
  position: relative;
}

body.lm-mod-override-cursor .jp-IFrame::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-HoverBox {
  position: fixed;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-FormGroup-content fieldset {
  border: none;
  padding: 0;
  min-width: 0;
  width: 100%;
}

/* stylelint-disable selector-max-type */

.jp-FormGroup-content fieldset .jp-inputFieldWrapper input,
.jp-FormGroup-content fieldset .jp-inputFieldWrapper select,
.jp-FormGroup-content fieldset .jp-inputFieldWrapper textarea {
  font-size: var(--jp-content-font-size2);
  border-color: var(--jp-input-border-color);
  border-style: solid;
  border-radius: var(--jp-border-radius);
  border-width: 1px;
  padding: 6px 8px;
  background: none;
  color: var(--jp-ui-font-color0);
  height: inherit;
}

.jp-FormGroup-content fieldset input[type='checkbox'] {
  position: relative;
  top: 2px;
  margin-left: 0;
}

.jp-FormGroup-content button.jp-mod-styled {
  cursor: pointer;
}

.jp-FormGroup-content .checkbox label {
  cursor: pointer;
  font-size: var(--jp-content-font-size1);
}

.jp-FormGroup-content .jp-root > fieldset > legend {
  display: none;
}

.jp-FormGroup-content .jp-root > fieldset > p {
  display: none;
}

/** copy of `input.jp-mod-styled:focus` style */
.jp-FormGroup-content fieldset input:focus,
.jp-FormGroup-content fieldset select:focus {
  -moz-outline-radius: unset;
  outline: var(--jp-border-width) solid var(--md-blue-500);
  outline-offset: -1px;
  box-shadow: inset 0 0 4px var(--md-blue-300);
}

.jp-FormGroup-content fieldset input:hover:not(:focus),
.jp-FormGroup-content fieldset select:hover:not(:focus) {
  background-color: var(--jp-border-color2);
}

/* stylelint-enable selector-max-type */

.jp-FormGroup-content .checkbox .field-description {
  /* Disable default description field for checkbox:
   because other widgets do not have description fields,
   we add descriptions to each widget on the field level.
  */
  display: none;
}

.jp-FormGroup-content #root__description {
  display: none;
}

.jp-FormGroup-content .jp-modifiedIndicator {
  width: 5px;
  background-color: var(--jp-brand-color2);
  margin-top: 0;
  margin-left: calc(var(--jp-private-settingeditor-modifier-indent) * -1);
  flex-shrink: 0;
}

.jp-FormGroup-content .jp-modifiedIndicator.jp-errorIndicator {
  background-color: var(--jp-error-color0);
  margin-right: 0.5em;
}

/* RJSF ARRAY style */

.jp-arrayFieldWrapper legend {
  font-size: var(--jp-content-font-size2);
  color: var(--jp-ui-font-color0);
  flex-basis: 100%;
  padding: 4px 0;
  font-weight: var(--jp-content-heading-font-weight);
  border-bottom: 1px solid var(--jp-border-color2);
}

.jp-arrayFieldWrapper .field-description {
  padding: 4px 0;
  white-space: pre-wrap;
}

.jp-arrayFieldWrapper .array-item {
  width: 100%;
  border: 1px solid var(--jp-border-color2);
  border-radius: 4px;
  margin: 4px;
}

.jp-ArrayOperations {
  display: flex;
  margin-left: 8px;
}

.jp-ArrayOperationsButton {
  margin: 2px;
}

.jp-ArrayOperationsButton .jp-icon3[fill] {
  fill: var(--jp-ui-font-color0);
}

button.jp-ArrayOperationsButton.jp-mod-styled:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* RJSF form validation error */

.jp-FormGroup-content .validationErrors {
  color: var(--jp-error-color0);
}

/* Hide panel level error as duplicated the field level error */
.jp-FormGroup-content .panel.errors {
  display: none;
}

/* RJSF normal content (settings-editor) */

.jp-FormGroup-contentNormal {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.jp-FormGroup-contentNormal .jp-FormGroup-contentItem {
  margin-left: 7px;
  color: var(--jp-ui-font-color0);
}

.jp-FormGroup-contentNormal .jp-FormGroup-description {
  flex-basis: 100%;
  padding: 4px 7px;
}

.jp-FormGroup-contentNormal .jp-FormGroup-default {
  flex-basis: 100%;
  padding: 4px 7px;
}

.jp-FormGroup-contentNormal .jp-FormGroup-fieldLabel {
  font-size: var(--jp-content-font-size1);
  font-weight: normal;
  min-width: 120px;
}

.jp-FormGroup-contentNormal fieldset:not(:first-child) {
  margin-left: 7px;
}

.jp-FormGroup-contentNormal .field-array-of-string .array-item {
  /* Display `jp-ArrayOperations` buttons side-by-side with content except
    for small screens where flex-wrap will place them one below the other.
  */
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.jp-FormGroup-contentNormal .jp-objectFieldWrapper .form-group {
  padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
  margin-top: 2px;
}

/* RJSF compact content (metadata-form) */

.jp-FormGroup-content.jp-FormGroup-contentCompact {
  width: 100%;
}

.jp-FormGroup-contentCompact .form-group {
  display: flex;
  padding: 0.5em 0.2em 0.5em 0;
}

.jp-FormGroup-contentCompact
  .jp-FormGroup-compactTitle
  .jp-FormGroup-description {
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color2);
}

.jp-FormGroup-contentCompact .jp-FormGroup-fieldLabel {
  padding-bottom: 0.3em;
}

.jp-FormGroup-contentCompact .jp-inputFieldWrapper .form-control {
  width: 100%;
  box-sizing: border-box;
}

.jp-FormGroup-contentCompact .jp-arrayFieldWrapper .jp-FormGroup-compactTitle {
  padding-bottom: 7px;
}

.jp-FormGroup-contentCompact
  .jp-objectFieldWrapper
  .jp-objectFieldWrapper
  .form-group {
  padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
  margin-top: 2px;
}

.jp-FormGroup-contentCompact ul.error-detail {
  margin-block-start: 0.5em;
  margin-block-end: 0.5em;
  padding-inline-start: 1em;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-SidePanel {
  display: flex;
  flex-direction: column;
  min-width: var(--jp-sidebar-min-width);
  overflow-y: auto;
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);
  font-size: var(--jp-ui-font-size1);
}

.jp-SidePanel-header {
  flex: 0 0 auto;
  display: flex;
  border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
  font-size: var(--jp-ui-font-size0);
  font-weight: 600;
  letter-spacing: 1px;
  margin: 0;
  padding: 2px;
  text-transform: uppercase;
}

.jp-SidePanel-toolbar {
  flex: 0 0 auto;
}

.jp-SidePanel-content {
  flex: 1 1 auto;
}

.jp-SidePanel-toolbar,
.jp-AccordionPanel-toolbar {
  height: var(--jp-private-toolbar-height);
}

.jp-SidePanel-toolbar.jp-Toolbar-micro {
  display: none;
}

.lm-AccordionPanel .jp-AccordionPanel-title {
  box-sizing: border-box;
  line-height: 25px;
  margin: 0;
  display: flex;
  align-items: center;
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  box-shadow: var(--jp-toolbar-box-shadow);
  font-size: var(--jp-ui-font-size0);
}

.jp-AccordionPanel-title {
  cursor: pointer;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  text-transform: uppercase;
}

.lm-AccordionPanel[data-orientation='horizontal'] > .jp-AccordionPanel-title {
  /* Title is rotated for horizontal accordion panel using CSS */
  display: block;
  transform-origin: top left;
  transform: rotate(-90deg) translate(-100%);
}

.jp-AccordionPanel-title .lm-AccordionPanel-titleLabel {
  user-select: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.jp-AccordionPanel-title .lm-AccordionPanel-titleCollapser {
  transform: rotate(-90deg);
  margin: auto 0;
  height: 16px;
}

.jp-AccordionPanel-title.lm-mod-expanded .lm-AccordionPanel-titleCollapser {
  transform: rotate(0deg);
}

.lm-AccordionPanel .jp-AccordionPanel-toolbar {
  background: none;
  box-shadow: none;
  border: none;
  margin-left: auto;
}

.lm-AccordionPanel .lm-SplitPanel-handle:hover {
  background: var(--jp-layout-color3);
}

.jp-text-truncated {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Spinner {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: var(--jp-layout-color0);
  outline: none;
}

.jp-SpinnerContent {
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 3em;
  height: 3em;
  border-radius: 50%;
  background: var(--jp-brand-color3);
  background: linear-gradient(
    to right,
    #f37626 10%,
    rgba(255, 255, 255, 0) 42%
  );
  position: relative;
  animation: load3 1s infinite linear, fadeIn 1s;
}

.jp-SpinnerContent::before {
  width: 50%;
  height: 50%;
  background: #f37626;
  border-radius: 100% 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}

.jp-SpinnerContent::after {
  background: var(--jp-layout-color0);
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes load3 {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

button.jp-mod-styled {
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color0);
  border: none;
  box-sizing: border-box;
  text-align: center;
  line-height: 32px;
  height: 32px;
  padding: 0 12px;
  letter-spacing: 0.8px;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

input.jp-mod-styled {
  background: var(--jp-input-background);
  height: 28px;
  box-sizing: border-box;
  border: var(--jp-border-width) solid var(--jp-border-color1);
  padding-left: 7px;
  padding-right: 7px;
  font-size: var(--jp-ui-font-size2);
  color: var(--jp-ui-font-color0);
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

input[type='checkbox'].jp-mod-styled {
  appearance: checkbox;
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  height: auto;
}

input.jp-mod-styled:focus {
  border: var(--jp-border-width) solid var(--md-blue-500);
  box-shadow: inset 0 0 4px var(--md-blue-300);
}

.jp-select-wrapper {
  display: flex;
  position: relative;
  flex-direction: column;
  padding: 1px;
  background-color: var(--jp-layout-color1);
  box-sizing: border-box;
  margin-bottom: 12px;
}

.jp-select-wrapper:not(.multiple) {
  height: 28px;
}

.jp-select-wrapper.jp-mod-focused select.jp-mod-styled {
  border: var(--jp-border-width) solid var(--jp-input-active-border-color);
  box-shadow: var(--jp-input-box-shadow);
  background-color: var(--jp-input-active-background);
}

select.jp-mod-styled:hover {
  cursor: pointer;
  color: var(--jp-ui-font-color0);
  background-color: var(--jp-input-hover-background);
  box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
}

select.jp-mod-styled {
  flex: 1 1 auto;
  width: 100%;
  font-size: var(--jp-ui-font-size2);
  background: var(--jp-input-background);
  color: var(--jp-ui-font-color0);
  padding: 0 25px 0 8px;
  border: var(--jp-border-width) solid var(--jp-input-border-color);
  border-radius: 0;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

select.jp-mod-styled:not([multiple]) {
  height: 32px;
}

select.jp-mod-styled[multiple] {
  max-height: 200px;
  overflow-y: auto;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-switch {
  display: flex;
  align-items: center;
  padding-left: 4px;
  padding-right: 4px;
  font-size: var(--jp-ui-font-size1);
  background-color: transparent;
  color: var(--jp-ui-font-color1);
  border: none;
  height: 20px;
}

.jp-switch:hover {
  background-color: var(--jp-layout-color2);
}

.jp-switch-label {
  margin-right: 5px;
  font-family: var(--jp-ui-font-family);
}

.jp-switch-track {
  cursor: pointer;
  background-color: var(--jp-switch-color, var(--jp-border-color1));
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 34px;
  height: 16px;
  width: 35px;
  position: relative;
}

.jp-switch-track::before {
  content: '';
  position: absolute;
  height: 10px;
  width: 10px;
  margin: 3px;
  left: 0;
  background-color: var(--jp-ui-inverse-font-color1);
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 50%;
}

.jp-switch[aria-checked='true'] .jp-switch-track {
  background-color: var(--jp-switch-true-position-color, var(--jp-warn-color0));
}

.jp-switch[aria-checked='true'] .jp-switch-track::before {
  /* track width (35) - margins (3 + 3) - thumb width (10) */
  left: 19px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

:root {
  --jp-private-toolbar-height: calc(
    28px + var(--jp-border-width)
  ); /* leave 28px for content */
}

.jp-Toolbar {
  color: var(--jp-ui-font-color1);
  flex: 0 0 auto;
  display: flex;
  flex-direction: row;
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  box-shadow: var(--jp-toolbar-box-shadow);
  background: var(--jp-toolbar-background);
  min-height: var(--jp-toolbar-micro-height);
  padding: 2px;
  z-index: 8;
  overflow-x: hidden;
}

/* Toolbar items */

.jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer {
  flex-grow: 1;
  flex-shrink: 1;
}

.jp-Toolbar-item.jp-Toolbar-kernelStatus {
  display: inline-block;
  width: 32px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
}

.jp-Toolbar > .jp-Toolbar-item {
  flex: 0 0 auto;
  display: flex;
  padding-left: 1px;
  padding-right: 1px;
  font-size: var(--jp-ui-font-size1);
  line-height: var(--jp-private-toolbar-height);
  height: 100%;
}

/* Toolbar buttons */

/* This is the div we use to wrap the react component into a Widget */
div.jp-ToolbarButton {
  color: transparent;
  border: none;
  box-sizing: border-box;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0;
  margin: 0;
}

button.jp-ToolbarButtonComponent {
  background: var(--jp-layout-color1);
  border: none;
  box-sizing: border-box;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0 6px;
  margin: 0;
  height: 24px;
  border-radius: var(--jp-border-radius);
  display: flex;
  align-items: center;
  text-align: center;
  font-size: 14px;
  min-width: unset;
  min-height: unset;
}

button.jp-ToolbarButtonComponent:disabled {
  opacity: 0.4;
}

button.jp-ToolbarButtonComponent > span {
  padding: 0;
  flex: 0 0 auto;
}

button.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label {
  font-size: var(--jp-ui-font-size1);
  line-height: 100%;
  padding-left: 2px;
  color: var(--jp-ui-font-color1);
  font-family: var(--jp-ui-font-family);
}

#jp-main-dock-panel[data-mode='single-document']
  .jp-MainAreaWidget
  > .jp-Toolbar.jp-Toolbar-micro {
  padding: 0;
  min-height: 0;
}

#jp-main-dock-panel[data-mode='single-document']
  .jp-MainAreaWidget
  > .jp-Toolbar {
  border: none;
  box-shadow: none;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-WindowedPanel-outer {
  position: relative;
  overflow-y: auto;
}

.jp-WindowedPanel-inner {
  position: relative;
}

.jp-WindowedPanel-window {
  position: absolute;
  left: 0;
  right: 0;
  overflow: visible;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* Sibling imports */

body {
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
}

/* Disable native link decoration styles everywhere outside of dialog boxes */
a {
  text-decoration: unset;
  color: unset;
}

a:hover {
  text-decoration: unset;
  color: unset;
}

/* Accessibility for links inside dialog box text */
.jp-Dialog-content a {
  text-decoration: revert;
  color: var(--jp-content-link-color);
}

.jp-Dialog-content a:hover {
  text-decoration: revert;
}

/* Styles for ui-components */
.jp-Button {
  color: var(--jp-ui-font-color2);
  border-radius: var(--jp-border-radius);
  padding: 0 12px;
  font-size: var(--jp-ui-font-size1);

  /* Copy from blueprint 3 */
  display: inline-flex;
  flex-direction: row;
  border: none;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  text-align: left;
  vertical-align: middle;
  min-height: 30px;
  min-width: 30px;
}

.jp-Button:disabled {
  cursor: not-allowed;
}

.jp-Button:empty {
  padding: 0 !important;
}

.jp-Button.jp-mod-small {
  min-height: 24px;
  min-width: 24px;
  font-size: 12px;
  padding: 0 7px;
}

/* Use our own theme for hover styles */
.jp-Button.jp-mod-minimal:hover {
  background-color: var(--jp-layout-color2);
}

.jp-Button.jp-mod-minimal {
  background: none;
}

.jp-InputGroup {
  display: block;
  position: relative;
}

.jp-InputGroup input {
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  background-color: transparent;
  color: var(--jp-ui-font-color0);
  box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
  padding-bottom: 0;
  padding-top: 0;
  padding-left: 10px;
  padding-right: 28px;
  position: relative;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 14px;
  font-weight: 400;
  height: 30px;
  line-height: 30px;
  outline: none;
  vertical-align: middle;
}

.jp-InputGroup input:focus {
  box-shadow: inset 0 0 0 var(--jp-border-width)
      var(--jp-input-active-box-shadow-color),
    inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
}

.jp-InputGroup input:disabled {
  cursor: not-allowed;
  resize: block;
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color2);
}

.jp-InputGroup input:disabled ~ span {
  cursor: not-allowed;
  color: var(--jp-ui-font-color2);
}

.jp-InputGroup input::placeholder,
input::placeholder {
  color: var(--jp-ui-font-color2);
}

.jp-InputGroupAction {
  position: absolute;
  bottom: 1px;
  right: 0;
  padding: 6px;
}

.jp-HTMLSelect.jp-DefaultStyle select {
  background-color: initial;
  border: none;
  border-radius: 0;
  box-shadow: none;
  color: var(--jp-ui-font-color0);
  display: block;
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
  height: 24px;
  line-height: 14px;
  padding: 0 25px 0 10px;
  text-align: left;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.jp-HTMLSelect.jp-DefaultStyle select:disabled {
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color2);
  cursor: not-allowed;
  resize: block;
}

.jp-HTMLSelect.jp-DefaultStyle select:disabled ~ span {
  cursor: not-allowed;
}

/* Use our own theme for hover and option styles */
/* stylelint-disable-next-line selector-max-type */
.jp-HTMLSelect.jp-DefaultStyle select:hover,
.jp-HTMLSelect.jp-DefaultStyle select > option {
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color0);
}

select {
  box-sizing: border-box;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/

.jp-StatusBar-Widget {
  display: flex;
  align-items: center;
  background: var(--jp-layout-color2);
  min-height: var(--jp-statusbar-height);
  justify-content: space-between;
  padding: 0 10px;
}

.jp-StatusBar-Left {
  display: flex;
  align-items: center;
  flex-direction: row;
}

.jp-StatusBar-Middle {
  display: flex;
  align-items: center;
}

.jp-StatusBar-Right {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
}

.jp-StatusBar-Item {
  max-height: var(--jp-statusbar-height);
  margin: 0 2px;
  height: var(--jp-statusbar-height);
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--jp-ui-font-color1);
  padding: 0 6px;
}

.jp-mod-highlighted:hover {
  background-color: var(--jp-layout-color3);
}

.jp-mod-clicked {
  background-color: var(--jp-brand-color1);
}

.jp-mod-clicked:hover {
  background-color: var(--jp-brand-color0);
}

.jp-mod-clicked .jp-StatusBar-TextItem {
  color: var(--jp-ui-inverse-font-color1);
}

.jp-StatusBar-HoverItem {
  box-shadow: '0px 4px 4px rgba(0, 0, 0, 0.25)';
}

.jp-StatusBar-TextItem {
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
  line-height: 24px;
  color: var(--jp-ui-font-color1);
}

.jp-StatusBar-GroupItem {
  display: flex;
  align-items: center;
  flex-direction: row;
}

.jp-Statusbar-ProgressCircle svg {
  display: block;
  margin: 0 auto;
  width: 16px;
  height: 24px;
  align-self: normal;
}

.jp-Statusbar-ProgressCircle path {
  fill: var(--jp-inverse-layout-color3);
}

.jp-Statusbar-ProgressBar-progress-bar {
  height: 10px;
  width: 100px;
  border: solid 0.25px var(--jp-brand-color2);
  border-radius: 3px;
  overflow: hidden;
  align-self: center;
}

.jp-Statusbar-ProgressBar-progress-bar > div {
  background-color: var(--jp-brand-color2);
  background-image: linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.2) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.2) 50%,
    rgba(255, 255, 255, 0.2) 75%,
    transparent 75%,
    transparent
  );
  background-size: 40px 40px;
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 14px;
  color: #fff;
  text-align: center;
  animation: jp-Statusbar-ExecutionTime-progress-bar 2s linear infinite;
}

.jp-Statusbar-ProgressBar-progress-bar p {
  color: var(--jp-ui-font-color1);
  font-family: var(--jp-ui-font-family);
  font-size: var(--jp-ui-font-size1);
  line-height: 10px;
  width: 100px;
}

@keyframes jp-Statusbar-ExecutionTime-progress-bar {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 40px 40px;
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  --jp-private-commandpalette-search-height: 28px;
}

/*-----------------------------------------------------------------------------
| Overall styles
|----------------------------------------------------------------------------*/

.lm-CommandPalette {
  padding-bottom: 0;
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);

  /* This is needed so that all font sizing of children done in ems is
   * relative to this base size */
  font-size: var(--jp-ui-font-size1);
}

/*-----------------------------------------------------------------------------
| Modal variant
|----------------------------------------------------------------------------*/

.jp-ModalCommandPalette {
  position: absolute;
  z-index: 10000;
  top: 38px;
  left: 30%;
  margin: 0;
  padding: 4px;
  width: 40%;
  box-shadow: var(--jp-elevation-z4);
  border-radius: 4px;
  background: var(--jp-layout-color0);
}

.jp-ModalCommandPalette .lm-CommandPalette {
  max-height: 40vh;
}

.jp-ModalCommandPalette .lm-CommandPalette .lm-close-icon::after {
  display: none;
}

.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-header {
  display: none;
}

.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-item {
  margin-left: 4px;
  margin-right: 4px;
}

.jp-ModalCommandPalette
  .lm-CommandPalette
  .lm-CommandPalette-item.lm-mod-disabled {
  display: none;
}

/*-----------------------------------------------------------------------------
| Search
|----------------------------------------------------------------------------*/

.lm-CommandPalette-search {
  padding: 4px;
  background-color: var(--jp-layout-color1);
  z-index: 2;
}

.lm-CommandPalette-wrapper {
  overflow: overlay;
  padding: 0 9px;
  background-color: var(--jp-input-active-background);
  height: 30px;
  box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
}

.lm-CommandPalette.lm-mod-focused .lm-CommandPalette-wrapper {
  box-shadow: inset 0 0 0 1px var(--jp-input-active-box-shadow-color),
    inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
}

.jp-SearchIconGroup {
  color: white;
  background-color: var(--jp-brand-color1);
  position: absolute;
  top: 4px;
  right: 4px;
  padding: 5px 5px 1px;
}

.jp-SearchIconGroup svg {
  height: 20px;
  width: 20px;
}

.jp-SearchIconGroup .jp-icon3[fill] {
  fill: var(--jp-layout-color0);
}

.lm-CommandPalette-input {
  background: transparent;
  width: calc(100% - 18px);
  float: left;
  border: none;
  outline: none;
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color0);
  line-height: var(--jp-private-commandpalette-search-height);
}

.lm-CommandPalette-input::-webkit-input-placeholder,
.lm-CommandPalette-input::-moz-placeholder,
.lm-CommandPalette-input:-ms-input-placeholder {
  color: var(--jp-ui-font-color2);
  font-size: var(--jp-ui-font-size1);
}

/*-----------------------------------------------------------------------------
| Results
|----------------------------------------------------------------------------*/

.lm-CommandPalette-header:first-child {
  margin-top: 0;
}

.lm-CommandPalette-header {
  border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
  color: var(--jp-ui-font-color1);
  cursor: pointer;
  display: flex;
  font-size: var(--jp-ui-font-size0);
  font-weight: 600;
  letter-spacing: 1px;
  margin-top: 8px;
  padding: 8px 0 8px 12px;
  text-transform: uppercase;
}

.lm-CommandPalette-header.lm-mod-active {
  background: var(--jp-layout-color2);
}

.lm-CommandPalette-header > mark {
  background-color: transparent;
  font-weight: bold;
  color: var(--jp-ui-font-color1);
}

.lm-CommandPalette-item {
  padding: 4px 12px 4px 4px;
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  font-weight: 400;
  display: flex;
}

.lm-CommandPalette-item.lm-mod-disabled {
  color: var(--jp-ui-font-color2);
}

.lm-CommandPalette-item.lm-mod-active {
  color: var(--jp-ui-inverse-font-color1);
  background: var(--jp-brand-color1);
}

.lm-CommandPalette-item.lm-mod-active .lm-CommandPalette-itemLabel > mark {
  color: var(--jp-ui-inverse-font-color0);
}

.lm-CommandPalette-item.lm-mod-active .jp-icon-selectable[fill] {
  fill: var(--jp-layout-color0);
}

.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) {
  color: var(--jp-ui-inverse-font-color1);
  background: var(--jp-brand-color1);
}

.lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) {
  background: var(--jp-layout-color2);
}

.lm-CommandPalette-itemContent {
  overflow: hidden;
}

.lm-CommandPalette-itemLabel > mark {
  color: var(--jp-ui-font-color0);
  background-color: transparent;
  font-weight: bold;
}

.lm-CommandPalette-item.lm-mod-disabled mark {
  color: var(--jp-ui-font-color2);
}

.lm-CommandPalette-item .lm-CommandPalette-itemIcon {
  margin: 0 4px 0 0;
  position: relative;
  width: 16px;
  top: 2px;
  flex: 0 0 auto;
}

.lm-CommandPalette-item.lm-mod-disabled .lm-CommandPalette-itemIcon {
  opacity: 0.6;
}

.lm-CommandPalette-item .lm-CommandPalette-itemShortcut {
  flex: 0 0 auto;
}

.lm-CommandPalette-itemCaption {
  display: none;
}

.lm-CommandPalette-content {
  background-color: var(--jp-layout-color1);
}

.lm-CommandPalette-content:empty::after {
  content: 'No results';
  margin: auto;
  margin-top: 20px;
  width: 100px;
  display: block;
  font-size: var(--jp-ui-font-size2);
  font-family: var(--jp-ui-font-family);
  font-weight: lighter;
}

.lm-CommandPalette-emptyMessage {
  text-align: center;
  margin-top: 24px;
  line-height: 1.32;
  padding: 0 8px;
  color: var(--jp-content-font-color3);
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Dialog {
  position: absolute;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  background: var(--jp-dialog-background);
}

.jp-Dialog-content {
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
  background: var(--jp-layout-color1);
  padding: 24px 24px 12px;
  min-width: 300px;
  min-height: 150px;
  max-width: 1000px;
  max-height: 500px;
  box-sizing: border-box;
  box-shadow: var(--jp-elevation-z20);
  word-wrap: break-word;
  border-radius: var(--jp-border-radius);

  /* This is needed so that all font sizing of children done in ems is
   * relative to this base size */
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color1);
  resize: both;
}

.jp-Dialog-content.jp-Dialog-content-small {
  max-width: 500px;
}

.jp-Dialog-button {
  overflow: visible;
}

button.jp-Dialog-button:focus {
  outline: 1px solid var(--jp-brand-color1);
  outline-offset: 4px;
  -moz-outline-radius: 0;
}

button.jp-Dialog-button:focus::-moz-focus-inner {
  border: 0;
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus,
button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus,
button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
  outline-offset: 4px;
  -moz-outline-radius: 0;
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus {
  outline: 1px solid var(--jp-accept-color-normal, var(--jp-brand-color1));
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus {
  outline: 1px solid var(--jp-warn-color-normal, var(--jp-error-color1));
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
  outline: 1px solid var(--jp-reject-color-normal, var(--md-grey-600));
}

button.jp-Dialog-close-button {
  padding: 0;
  height: 100%;
  min-width: unset;
  min-height: unset;
}

.jp-Dialog-header {
  display: flex;
  justify-content: space-between;
  flex: 0 0 auto;
  padding-bottom: 12px;
  font-size: var(--jp-ui-font-size3);
  font-weight: 400;
  color: var(--jp-ui-font-color1);
}

.jp-Dialog-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  font-size: var(--jp-ui-font-size1);
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  overflow: auto;
}

.jp-Dialog-footer {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  flex: 0 0 auto;
  margin-left: -12px;
  margin-right: -12px;
  padding: 12px;
}

.jp-Dialog-checkbox {
  padding-right: 5px;
}

.jp-Dialog-checkbox > input:focus-visible {
  outline: 1px solid var(--jp-input-active-border-color);
  outline-offset: 1px;
}

.jp-Dialog-spacer {
  flex: 1 1 auto;
}

.jp-Dialog-title {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.jp-Dialog-body > .jp-select-wrapper {
  width: 100%;
}

.jp-Dialog-body > button {
  padding: 0 16px;
}

.jp-Dialog-body > label {
  line-height: 1.4;
  color: var(--jp-ui-font-color0);
}

.jp-Dialog-button.jp-mod-styled:not(:last-child) {
  margin-right: 12px;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-Input-Boolean-Dialog {
  flex-direction: row-reverse;
  align-items: end;
  width: 100%;
}

.jp-Input-Boolean-Dialog > label {
  flex: 1 1 auto;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-MainAreaWidget > :focus {
  outline: none;
}

.jp-MainAreaWidget .jp-MainAreaWidget-error {
  padding: 6px;
}

.jp-MainAreaWidget .jp-MainAreaWidget-error > pre {
  width: auto;
  padding: 10px;
  background: var(--jp-error-color3);
  border: var(--jp-border-width) solid var(--jp-error-color1);
  border-radius: var(--jp-border-radius);
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  white-space: pre-wrap;
  word-wrap: break-word;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/**
 * google-material-color v1.2.6
 * https://github.com/danlevan/google-material-color
 */
:root {
  --md-red-50: #ffebee;
  --md-red-100: #ffcdd2;
  --md-red-200: #ef9a9a;
  --md-red-300: #e57373;
  --md-red-400: #ef5350;
  --md-red-500: #f44336;
  --md-red-600: #e53935;
  --md-red-700: #d32f2f;
  --md-red-800: #c62828;
  --md-red-900: #b71c1c;
  --md-red-A100: #ff8a80;
  --md-red-A200: #ff5252;
  --md-red-A400: #ff1744;
  --md-red-A700: #d50000;
  --md-pink-50: #fce4ec;
  --md-pink-100: #f8bbd0;
  --md-pink-200: #f48fb1;
  --md-pink-300: #f06292;
  --md-pink-400: #ec407a;
  --md-pink-500: #e91e63;
  --md-pink-600: #d81b60;
  --md-pink-700: #c2185b;
  --md-pink-800: #ad1457;
  --md-pink-900: #880e4f;
  --md-pink-A100: #ff80ab;
  --md-pink-A200: #ff4081;
  --md-pink-A400: #f50057;
  --md-pink-A700: #c51162;
  --md-purple-50: #f3e5f5;
  --md-purple-100: #e1bee7;
  --md-purple-200: #ce93d8;
  --md-purple-300: #ba68c8;
  --md-purple-400: #ab47bc;
  --md-purple-500: #9c27b0;
  --md-purple-600: #8e24aa;
  --md-purple-700: #7b1fa2;
  --md-purple-800: #6a1b9a;
  --md-purple-900: #4a148c;
  --md-purple-A100: #ea80fc;
  --md-purple-A200: #e040fb;
  --md-purple-A400: #d500f9;
  --md-purple-A700: #a0f;
  --md-deep-purple-50: #ede7f6;
  --md-deep-purple-100: #d1c4e9;
  --md-deep-purple-200: #b39ddb;
  --md-deep-purple-300: #9575cd;
  --md-deep-purple-400: #7e57c2;
  --md-deep-purple-500: #673ab7;
  --md-deep-purple-600: #5e35b1;
  --md-deep-purple-700: #512da8;
  --md-deep-purple-800: #4527a0;
  --md-deep-purple-900: #311b92;
  --md-deep-purple-A100: #b388ff;
  --md-deep-purple-A200: #7c4dff;
  --md-deep-purple-A400: #651fff;
  --md-deep-purple-A700: #6200ea;
  --md-indigo-50: #e8eaf6;
  --md-indigo-100: #c5cae9;
  --md-indigo-200: #9fa8da;
  --md-indigo-300: #7986cb;
  --md-indigo-400: #5c6bc0;
  --md-indigo-500: #3f51b5;
  --md-indigo-600: #3949ab;
  --md-indigo-700: #303f9f;
  --md-indigo-800: #283593;
  --md-indigo-900: #1a237e;
  --md-indigo-A100: #8c9eff;
  --md-indigo-A200: #536dfe;
  --md-indigo-A400: #3d5afe;
  --md-indigo-A700: #304ffe;
  --md-blue-50: #e3f2fd;
  --md-blue-100: #bbdefb;
  --md-blue-200: #90caf9;
  --md-blue-300: #64b5f6;
  --md-blue-400: #42a5f5;
  --md-blue-500: #2196f3;
  --md-blue-600: #1e88e5;
  --md-blue-700: #1976d2;
  --md-blue-800: #1565c0;
  --md-blue-900: #0d47a1;
  --md-blue-A100: #82b1ff;
  --md-blue-A200: #448aff;
  --md-blue-A400: #2979ff;
  --md-blue-A700: #2962ff;
  --md-light-blue-50: #e1f5fe;
  --md-light-blue-100: #b3e5fc;
  --md-light-blue-200: #81d4fa;
  --md-light-blue-300: #4fc3f7;
  --md-light-blue-400: #29b6f6;
  --md-light-blue-500: #03a9f4;
  --md-light-blue-600: #039be5;
  --md-light-blue-700: #0288d1;
  --md-light-blue-800: #0277bd;
  --md-light-blue-900: #01579b;
  --md-light-blue-A100: #80d8ff;
  --md-light-blue-A200: #40c4ff;
  --md-light-blue-A400: #00b0ff;
  --md-light-blue-A700: #0091ea;
  --md-cyan-50: #e0f7fa;
  --md-cyan-100: #b2ebf2;
  --md-cyan-200: #80deea;
  --md-cyan-300: #4dd0e1;
  --md-cyan-400: #26c6da;
  --md-cyan-500: #00bcd4;
  --md-cyan-600: #00acc1;
  --md-cyan-700: #0097a7;
  --md-cyan-800: #00838f;
  --md-cyan-900: #006064;
  --md-cyan-A100: #84ffff;
  --md-cyan-A200: #18ffff;
  --md-cyan-A400: #00e5ff;
  --md-cyan-A700: #00b8d4;
  --md-teal-50: #e0f2f1;
  --md-teal-100: #b2dfdb;
  --md-teal-200: #80cbc4;
  --md-teal-300: #4db6ac;
  --md-teal-400: #26a69a;
  --md-teal-500: #009688;
  --md-teal-600: #00897b;
  --md-teal-700: #00796b;
  --md-teal-800: #00695c;
  --md-teal-900: #004d40;
  --md-teal-A100: #a7ffeb;
  --md-teal-A200: #64ffda;
  --md-teal-A400: #1de9b6;
  --md-teal-A700: #00bfa5;
  --md-green-50: #e8f5e9;
  --md-green-100: #c8e6c9;
  --md-green-200: #a5d6a7;
  --md-green-300: #81c784;
  --md-green-400: #66bb6a;
  --md-green-500: #4caf50;
  --md-green-600: #43a047;
  --md-green-700: #388e3c;
  --md-green-800: #2e7d32;
  --md-green-900: #1b5e20;
  --md-green-A100: #b9f6ca;
  --md-green-A200: #69f0ae;
  --md-green-A400: #00e676;
  --md-green-A700: #00c853;
  --md-light-green-50: #f1f8e9;
  --md-light-green-100: #dcedc8;
  --md-light-green-200: #c5e1a5;
  --md-light-green-300: #aed581;
  --md-light-green-400: #9ccc65;
  --md-light-green-500: #8bc34a;
  --md-light-green-600: #7cb342;
  --md-light-green-700: #689f38;
  --md-light-green-800: #558b2f;
  --md-light-green-900: #33691e;
  --md-light-green-A100: #ccff90;
  --md-light-green-A200: #b2ff59;
  --md-light-green-A400: #76ff03;
  --md-light-green-A700: #64dd17;
  --md-lime-50: #f9fbe7;
  --md-lime-100: #f0f4c3;
  --md-lime-200: #e6ee9c;
  --md-lime-300: #dce775;
  --md-lime-400: #d4e157;
  --md-lime-500: #cddc39;
  --md-lime-600: #c0ca33;
  --md-lime-700: #afb42b;
  --md-lime-800: #9e9d24;
  --md-lime-900: #827717;
  --md-lime-A100: #f4ff81;
  --md-lime-A200: #eeff41;
  --md-lime-A400: #c6ff00;
  --md-lime-A700: #aeea00;
  --md-yellow-50: #fffde7;
  --md-yellow-100: #fff9c4;
  --md-yellow-200: #fff59d;
  --md-yellow-300: #fff176;
  --md-yellow-400: #ffee58;
  --md-yellow-500: #ffeb3b;
  --md-yellow-600: #fdd835;
  --md-yellow-700: #fbc02d;
  --md-yellow-800: #f9a825;
  --md-yellow-900: #f57f17;
  --md-yellow-A100: #ffff8d;
  --md-yellow-A200: #ff0;
  --md-yellow-A400: #ffea00;
  --md-yellow-A700: #ffd600;
  --md-amber-50: #fff8e1;
  --md-amber-100: #ffecb3;
  --md-amber-200: #ffe082;
  --md-amber-300: #ffd54f;
  --md-amber-400: #ffca28;
  --md-amber-500: #ffc107;
  --md-amber-600: #ffb300;
  --md-amber-700: #ffa000;
  --md-amber-800: #ff8f00;
  --md-amber-900: #ff6f00;
  --md-amber-A100: #ffe57f;
  --md-amber-A200: #ffd740;
  --md-amber-A400: #ffc400;
  --md-amber-A700: #ffab00;
  --md-orange-50: #fff3e0;
  --md-orange-100: #ffe0b2;
  --md-orange-200: #ffcc80;
  --md-orange-300: #ffb74d;
  --md-orange-400: #ffa726;
  --md-orange-500: #ff9800;
  --md-orange-600: #fb8c00;
  --md-orange-700: #f57c00;
  --md-orange-800: #ef6c00;
  --md-orange-900: #e65100;
  --md-orange-A100: #ffd180;
  --md-orange-A200: #ffab40;
  --md-orange-A400: #ff9100;
  --md-orange-A700: #ff6d00;
  --md-deep-orange-50: #fbe9e7;
  --md-deep-orange-100: #ffccbc;
  --md-deep-orange-200: #ffab91;
  --md-deep-orange-300: #ff8a65;
  --md-deep-orange-400: #ff7043;
  --md-deep-orange-500: #ff5722;
  --md-deep-orange-600: #f4511e;
  --md-deep-orange-700: #e64a19;
  --md-deep-orange-800: #d84315;
  --md-deep-orange-900: #bf360c;
  --md-deep-orange-A100: #ff9e80;
  --md-deep-orange-A200: #ff6e40;
  --md-deep-orange-A400: #ff3d00;
  --md-deep-orange-A700: #dd2c00;
  --md-brown-50: #efebe9;
  --md-brown-100: #d7ccc8;
  --md-brown-200: #bcaaa4;
  --md-brown-300: #a1887f;
  --md-brown-400: #8d6e63;
  --md-brown-500: #795548;
  --md-brown-600: #6d4c41;
  --md-brown-700: #5d4037;
  --md-brown-800: #4e342e;
  --md-brown-900: #3e2723;
  --md-grey-50: #fafafa;
  --md-grey-100: #f5f5f5;
  --md-grey-200: #eee;
  --md-grey-300: #e0e0e0;
  --md-grey-400: #bdbdbd;
  --md-grey-500: #9e9e9e;
  --md-grey-600: #757575;
  --md-grey-700: #616161;
  --md-grey-800: #424242;
  --md-grey-900: #212121;
  --md-blue-grey-50: #eceff1;
  --md-blue-grey-100: #cfd8dc;
  --md-blue-grey-200: #b0bec5;
  --md-blue-grey-300: #90a4ae;
  --md-blue-grey-400: #78909c;
  --md-blue-grey-500: #607d8b;
  --md-blue-grey-600: #546e7a;
  --md-blue-grey-700: #455a64;
  --md-blue-grey-800: #37474f;
  --md-blue-grey-900: #263238;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| RenderedText
|----------------------------------------------------------------------------*/

:root {
  /* This is the padding value to fill the gaps between lines containing spans with background color. */
  --jp-private-code-span-padding: calc(
    (var(--jp-code-line-height) - 1) * var(--jp-code-font-size) / 2
  );
}

.jp-RenderedText {
  text-align: left;
  padding-left: var(--jp-code-padding);
  line-height: var(--jp-code-line-height);
  font-family: var(--jp-code-font-family);
}

.jp-RenderedText pre,
.jp-RenderedJavaScript pre,
.jp-RenderedHTMLCommon pre {
  color: var(--jp-content-font-color1);
  font-size: var(--jp-code-font-size);
  border: none;
  margin: 0;
  padding: 0;
}

.jp-RenderedText pre a:link {
  text-decoration: none;
  color: var(--jp-content-link-color);
}

.jp-RenderedText pre a:hover {
  text-decoration: underline;
  color: var(--jp-content-link-color);
}

.jp-RenderedText pre a:visited {
  text-decoration: none;
  color: var(--jp-content-link-color);
}

/* console foregrounds and backgrounds */
.jp-RenderedText pre .ansi-black-fg {
  color: #3e424d;
}

.jp-RenderedText pre .ansi-red-fg {
  color: #e75c58;
}

.jp-RenderedText pre .ansi-green-fg {
  color: #00a250;
}

.jp-RenderedText pre .ansi-yellow-fg {
  color: #ddb62b;
}

.jp-RenderedText pre .ansi-blue-fg {
  color: #208ffb;
}

.jp-RenderedText pre .ansi-magenta-fg {
  color: #d160c4;
}

.jp-RenderedText pre .ansi-cyan-fg {
  color: #60c6c8;
}

.jp-RenderedText pre .ansi-white-fg {
  color: #c5c1b4;
}

.jp-RenderedText pre .ansi-black-bg {
  background-color: #3e424d;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-red-bg {
  background-color: #e75c58;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-green-bg {
  background-color: #00a250;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-yellow-bg {
  background-color: #ddb62b;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-blue-bg {
  background-color: #208ffb;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-magenta-bg {
  background-color: #d160c4;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-cyan-bg {
  background-color: #60c6c8;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-white-bg {
  background-color: #c5c1b4;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-black-intense-fg {
  color: #282c36;
}

.jp-RenderedText pre .ansi-red-intense-fg {
  color: #b22b31;
}

.jp-RenderedText pre .ansi-green-intense-fg {
  color: #007427;
}

.jp-RenderedText pre .ansi-yellow-intense-fg {
  color: #b27d12;
}

.jp-RenderedText pre .ansi-blue-intense-fg {
  color: #0065ca;
}

.jp-RenderedText pre .ansi-magenta-intense-fg {
  color: #a03196;
}

.jp-RenderedText pre .ansi-cyan-intense-fg {
  color: #258f8f;
}

.jp-RenderedText pre .ansi-white-intense-fg {
  color: #a1a6b2;
}

.jp-RenderedText pre .ansi-black-intense-bg {
  background-color: #282c36;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-red-intense-bg {
  background-color: #b22b31;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-green-intense-bg {
  background-color: #007427;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-yellow-intense-bg {
  background-color: #b27d12;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-blue-intense-bg {
  background-color: #0065ca;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-magenta-intense-bg {
  background-color: #a03196;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-cyan-intense-bg {
  background-color: #258f8f;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-white-intense-bg {
  background-color: #a1a6b2;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-default-inverse-fg {
  color: var(--jp-ui-inverse-font-color0);
}

.jp-RenderedText pre .ansi-default-inverse-bg {
  background-color: var(--jp-inverse-layout-color0);
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-bold {
  font-weight: bold;
}

.jp-RenderedText pre .ansi-underline {
  text-decoration: underline;
}

.jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] {
  background: var(--jp-rendermime-error-background);
  padding-top: var(--jp-code-padding);
}

/*-----------------------------------------------------------------------------
| RenderedLatex
|----------------------------------------------------------------------------*/

.jp-RenderedLatex {
  color: var(--jp-content-font-color1);
  font-size: var(--jp-content-font-size1);
  line-height: var(--jp-content-line-height);
}

/* Left-justify outputs.*/
.jp-OutputArea-output.jp-RenderedLatex {
  padding: var(--jp-code-padding);
  text-align: left;
}

/*-----------------------------------------------------------------------------
| RenderedHTML
|----------------------------------------------------------------------------*/

.jp-RenderedHTMLCommon {
  color: var(--jp-content-font-color1);
  font-family: var(--jp-content-font-family);
  font-size: var(--jp-content-font-size1);
  line-height: var(--jp-content-line-height);

  /* Give a bit more R padding on Markdown text to keep line lengths reasonable */
  padding-right: 20px;
}

.jp-RenderedHTMLCommon em {
  font-style: italic;
}

.jp-RenderedHTMLCommon strong {
  font-weight: bold;
}

.jp-RenderedHTMLCommon u {
  text-decoration: underline;
}

.jp-RenderedHTMLCommon a:link {
  text-decoration: none;
  color: var(--jp-content-link-color);
}

.jp-RenderedHTMLCommon a:hover {
  text-decoration: underline;
  color: var(--jp-content-link-color);
}

.jp-RenderedHTMLCommon a:visited {
  text-decoration: none;
  color: var(--jp-content-link-color);
}

/* Headings */

.jp-RenderedHTMLCommon h1,
.jp-RenderedHTMLCommon h2,
.jp-RenderedHTMLCommon h3,
.jp-RenderedHTMLCommon h4,
.jp-RenderedHTMLCommon h5,
.jp-RenderedHTMLCommon h6 {
  line-height: var(--jp-content-heading-line-height);
  font-weight: var(--jp-content-heading-font-weight);
  font-style: normal;
  margin: var(--jp-content-heading-margin-top) 0
    var(--jp-content-heading-margin-bottom) 0;
}

.jp-RenderedHTMLCommon h1:first-child,
.jp-RenderedHTMLCommon h2:first-child,
.jp-RenderedHTMLCommon h3:first-child,
.jp-RenderedHTMLCommon h4:first-child,
.jp-RenderedHTMLCommon h5:first-child,
.jp-RenderedHTMLCommon h6:first-child {
  margin-top: calc(0.5 * var(--jp-content-heading-margin-top));
}

.jp-RenderedHTMLCommon h1:last-child,
.jp-RenderedHTMLCommon h2:last-child,
.jp-RenderedHTMLCommon h3:last-child,
.jp-RenderedHTMLCommon h4:last-child,
.jp-RenderedHTMLCommon h5:last-child,
.jp-RenderedHTMLCommon h6:last-child {
  margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom));
}

.jp-RenderedHTMLCommon h1 {
  font-size: var(--jp-content-font-size5);
}

.jp-RenderedHTMLCommon h2 {
  font-size: var(--jp-content-font-size4);
}

.jp-RenderedHTMLCommon h3 {
  font-size: var(--jp-content-font-size3);
}

.jp-RenderedHTMLCommon h4 {
  font-size: var(--jp-content-font-size2);
}

.jp-RenderedHTMLCommon h5 {
  font-size: var(--jp-content-font-size1);
}

.jp-RenderedHTMLCommon h6 {
  font-size: var(--jp-content-font-size0);
}

/* Lists */

/* stylelint-disable selector-max-type, selector-max-compound-selectors */

.jp-RenderedHTMLCommon ul:not(.list-inline),
.jp-RenderedHTMLCommon ol:not(.list-inline) {
  padding-left: 2em;
}

.jp-RenderedHTMLCommon ul {
  list-style: disc;
}

.jp-RenderedHTMLCommon ul ul {
  list-style: square;
}

.jp-RenderedHTMLCommon ul ul ul {
  list-style: circle;
}

.jp-RenderedHTMLCommon ol {
  list-style: decimal;
}

.jp-RenderedHTMLCommon ol ol {
  list-style: upper-alpha;
}

.jp-RenderedHTMLCommon ol ol ol {
  list-style: lower-alpha;
}

.jp-RenderedHTMLCommon ol ol ol ol {
  list-style: lower-roman;
}

.jp-RenderedHTMLCommon ol ol ol ol ol {
  list-style: decimal;
}

.jp-RenderedHTMLCommon ol,
.jp-RenderedHTMLCommon ul {
  margin-bottom: 1em;
}

.jp-RenderedHTMLCommon ul ul,
.jp-RenderedHTMLCommon ul ol,
.jp-RenderedHTMLCommon ol ul,
.jp-RenderedHTMLCommon ol ol {
  margin-bottom: 0;
}

/* stylelint-enable selector-max-type, selector-max-compound-selectors */

.jp-RenderedHTMLCommon hr {
  color: var(--jp-border-color2);
  background-color: var(--jp-border-color1);
  margin-top: 1em;
  margin-bottom: 1em;
}

.jp-RenderedHTMLCommon > pre {
  margin: 1.5em 2em;
}

.jp-RenderedHTMLCommon pre,
.jp-RenderedHTMLCommon code {
  border: 0;
  background-color: var(--jp-layout-color0);
  color: var(--jp-content-font-color1);
  font-family: var(--jp-code-font-family);
  font-size: inherit;
  line-height: var(--jp-code-line-height);
  padding: 0;
  white-space: pre-wrap;
}

.jp-RenderedHTMLCommon :not(pre) > code {
  background-color: var(--jp-layout-color2);
  padding: 1px 5px;
}

/* Tables */

.jp-RenderedHTMLCommon table {
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  table-layout: fixed;
  margin-left: auto;
  margin-bottom: 1em;
  margin-right: auto;
}

.jp-RenderedHTMLCommon thead {
  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
  vertical-align: bottom;
}

.jp-RenderedHTMLCommon td,
.jp-RenderedHTMLCommon th,
.jp-RenderedHTMLCommon tr {
  vertical-align: middle;
  padding: 0.5em;
  line-height: normal;
  white-space: normal;
  max-width: none;
  border: none;
}

.jp-RenderedMarkdown.jp-RenderedHTMLCommon td,
.jp-RenderedMarkdown.jp-RenderedHTMLCommon th {
  max-width: none;
}

:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td,
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th,
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr {
  text-align: right;
}

.jp-RenderedHTMLCommon th {
  font-weight: bold;
}

.jp-RenderedHTMLCommon tbody tr:nth-child(odd) {
  background: var(--jp-layout-color0);
}

.jp-RenderedHTMLCommon tbody tr:nth-child(even) {
  background: var(--jp-rendermime-table-row-background);
}

.jp-RenderedHTMLCommon tbody tr:hover {
  background: var(--jp-rendermime-table-row-hover-background);
}

.jp-RenderedHTMLCommon p {
  text-align: left;
  margin: 0;
  margin-bottom: 1em;
}

.jp-RenderedHTMLCommon img {
  -moz-force-broken-image-icon: 1;
}

/* Restrict to direct children as other images could be nested in other content. */
.jp-RenderedHTMLCommon > img {
  display: block;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 1em;
}

/* Change color behind transparent images if they need it... */
[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background {
  background-color: var(--jp-inverse-layout-color1);
}

[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background {
  background-color: var(--jp-inverse-layout-color1);
}

.jp-RenderedHTMLCommon img,
.jp-RenderedImage img,
.jp-RenderedHTMLCommon svg,
.jp-RenderedSVG svg {
  max-width: 100%;
  height: auto;
}

.jp-RenderedHTMLCommon img.jp-mod-unconfined,
.jp-RenderedImage img.jp-mod-unconfined,
.jp-RenderedHTMLCommon svg.jp-mod-unconfined,
.jp-RenderedSVG svg.jp-mod-unconfined {
  max-width: none;
}

.jp-RenderedHTMLCommon .alert {
  padding: var(--jp-notebook-padding);
  border: var(--jp-border-width) solid transparent;
  border-radius: var(--jp-border-radius);
  margin-bottom: 1em;
}

.jp-RenderedHTMLCommon .alert-info {
  color: var(--jp-info-color0);
  background-color: var(--jp-info-color3);
  border-color: var(--jp-info-color2);
}

.jp-RenderedHTMLCommon .alert-info hr {
  border-color: var(--jp-info-color3);
}

.jp-RenderedHTMLCommon .alert-info > p:last-child,
.jp-RenderedHTMLCommon .alert-info > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon .alert-warning {
  color: var(--jp-warn-color0);
  background-color: var(--jp-warn-color3);
  border-color: var(--jp-warn-color2);
}

.jp-RenderedHTMLCommon .alert-warning hr {
  border-color: var(--jp-warn-color3);
}

.jp-RenderedHTMLCommon .alert-warning > p:last-child,
.jp-RenderedHTMLCommon .alert-warning > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon .alert-success {
  color: var(--jp-success-color0);
  background-color: var(--jp-success-color3);
  border-color: var(--jp-success-color2);
}

.jp-RenderedHTMLCommon .alert-success hr {
  border-color: var(--jp-success-color3);
}

.jp-RenderedHTMLCommon .alert-success > p:last-child,
.jp-RenderedHTMLCommon .alert-success > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon .alert-danger {
  color: var(--jp-error-color0);
  background-color: var(--jp-error-color3);
  border-color: var(--jp-error-color2);
}

.jp-RenderedHTMLCommon .alert-danger hr {
  border-color: var(--jp-error-color3);
}

.jp-RenderedHTMLCommon .alert-danger > p:last-child,
.jp-RenderedHTMLCommon .alert-danger > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon blockquote {
  margin: 1em 2em;
  padding: 0 1em;
  border-left: 5px solid var(--jp-border-color2);
}

a.jp-InternalAnchorLink {
  visibility: hidden;
  margin-left: 8px;
  color: var(--md-blue-800);
}

h1:hover .jp-InternalAnchorLink,
h2:hover .jp-InternalAnchorLink,
h3:hover .jp-InternalAnchorLink,
h4:hover .jp-InternalAnchorLink,
h5:hover .jp-InternalAnchorLink,
h6:hover .jp-InternalAnchorLink {
  visibility: visible;
}

.jp-RenderedHTMLCommon kbd {
  background-color: var(--jp-rendermime-table-row-background);
  border: 1px solid var(--jp-border-color0);
  border-bottom-color: var(--jp-border-color2);
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
  display: inline-block;
  font-size: var(--jp-ui-font-size0);
  line-height: 1em;
  padding: 0.2em 0.5em;
}

/* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0.
 * At the bottom of cells this is a bit too much as there is also spacing
 * between cells. Going all the way to 0 gets too tight between markdown and
 * code cells.
 */
.jp-RenderedHTMLCommon > *:last-child {
  margin-bottom: 0.5em;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-cursor-backdrop {
  position: fixed;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  will-change: transform;
  z-index: 100;
}

.lm-mod-drag-image {
  will-change: transform;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-lineFormSearch {
  padding: 4px 12px;
  background-color: var(--jp-layout-color2);
  box-shadow: var(--jp-toolbar-box-shadow);
  z-index: 2;
  font-size: var(--jp-ui-font-size1);
}

.jp-lineFormCaption {
  font-size: var(--jp-ui-font-size0);
  line-height: var(--jp-ui-font-size1);
  margin-top: 4px;
  color: var(--jp-ui-font-color0);
}

.jp-baseLineForm {
  border: none;
  border-radius: 0;
  position: absolute;
  background-size: 16px;
  background-repeat: no-repeat;
  background-position: center;
  outline: none;
}

.jp-lineFormButtonContainer {
  top: 4px;
  right: 8px;
  height: 24px;
  padding: 0 12px;
  width: 12px;
}

.jp-lineFormButtonIcon {
  top: 0;
  right: 0;
  background-color: var(--jp-brand-color1);
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  padding: 4px 6px;
}

.jp-lineFormButton {
  top: 0;
  right: 0;
  background-color: transparent;
  height: 100%;
  width: 100%;
  box-sizing: border-box;
}

.jp-lineFormWrapper {
  overflow: hidden;
  padding: 0 8px;
  border: 1px solid var(--jp-border-color0);
  background-color: var(--jp-input-active-background);
  height: 22px;
}

.jp-lineFormWrapperFocusWithin {
  border: var(--jp-border-width) solid var(--md-blue-500);
  box-shadow: inset 0 0 4px var(--md-blue-300);
}

.jp-lineFormInput {
  background: transparent;
  width: 200px;
  height: 100%;
  border: none;
  outline: none;
  color: var(--jp-ui-font-color0);
  line-height: 28px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-JSONEditor {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.jp-JSONEditor-host {
  flex: 1 1 auto;
  border: var(--jp-border-width) solid var(--jp-input-border-color);
  border-radius: 0;
  background: var(--jp-layout-color0);
  min-height: 50px;
  padding: 1px;
}

.jp-JSONEditor.jp-mod-error .jp-JSONEditor-host {
  border-color: red;
  outline-color: red;
}

.jp-JSONEditor-header {
  display: flex;
  flex: 1 0 auto;
  padding: 0 0 0 12px;
}

.jp-JSONEditor-header label {
  flex: 0 0 auto;
}

.jp-JSONEditor-commitButton {
  height: 16px;
  width: 16px;
  background-size: 18px;
  background-repeat: no-repeat;
  background-position: center;
}

.jp-JSONEditor-host.jp-mod-focused {
  background-color: var(--jp-input-active-background);
  border: 1px solid var(--jp-input-active-border-color);
  box-shadow: var(--jp-input-box-shadow);
}

.jp-Editor.jp-mod-dropTarget {
  border: var(--jp-border-width) solid var(--jp-input-active-border-color);
  box-shadow: var(--jp-input-box-shadow);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-DocumentSearch-input {
  border: none;
  outline: none;
  color: var(--jp-ui-font-color0);
  font-size: var(--jp-ui-font-size1);
  background-color: var(--jp-layout-color0);
  font-family: var(--jp-ui-font-family);
  padding: 2px 1px;
  resize: none;
}

.jp-DocumentSearch-overlay {
  position: absolute;
  background-color: var(--jp-toolbar-background);
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  border-left: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  top: 0;
  right: 0;
  z-index: 7;
  min-width: 405px;
  padding: 2px;
  font-size: var(--jp-ui-font-size1);

  --jp-private-document-search-button-height: 20px;
}

.jp-DocumentSearch-overlay button {
  background-color: var(--jp-toolbar-background);
  outline: 0;
}

.jp-DocumentSearch-overlay button:hover {
  background-color: var(--jp-layout-color2);
}

.jp-DocumentSearch-overlay button:active {
  background-color: var(--jp-layout-color3);
}

.jp-DocumentSearch-overlay-row {
  display: flex;
  align-items: center;
  margin-bottom: 2px;
}

.jp-DocumentSearch-button-content {
  display: inline-block;
  cursor: pointer;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}

.jp-DocumentSearch-button-content svg {
  width: 100%;
  height: 100%;
}

.jp-DocumentSearch-input-wrapper {
  border: var(--jp-border-width) solid var(--jp-border-color0);
  display: flex;
  background-color: var(--jp-layout-color0);
  margin: 2px;
}

.jp-DocumentSearch-input-wrapper:focus-within {
  border-color: var(--jp-cell-editor-active-border-color);
}

.jp-DocumentSearch-toggle-wrapper,
.jp-DocumentSearch-button-wrapper {
  all: initial;
  overflow: hidden;
  display: inline-block;
  border: none;
  box-sizing: border-box;
}

.jp-DocumentSearch-toggle-wrapper {
  width: 14px;
  height: 14px;
}

.jp-DocumentSearch-button-wrapper {
  width: var(--jp-private-document-search-button-height);
  height: var(--jp-private-document-search-button-height);
}

.jp-DocumentSearch-toggle-wrapper:focus,
.jp-DocumentSearch-button-wrapper:focus {
  outline: var(--jp-border-width) solid
    var(--jp-cell-editor-active-border-color);
  outline-offset: -1px;
}

.jp-DocumentSearch-toggle-wrapper,
.jp-DocumentSearch-button-wrapper,
.jp-DocumentSearch-button-content:focus {
  outline: none;
}

.jp-DocumentSearch-toggle-placeholder {
  width: 5px;
}

.jp-DocumentSearch-input-button::before {
  display: block;
  padding-top: 100%;
}

.jp-DocumentSearch-input-button-off {
  opacity: var(--jp-search-toggle-off-opacity);
}

.jp-DocumentSearch-input-button-off:hover {
  opacity: var(--jp-search-toggle-hover-opacity);
}

.jp-DocumentSearch-input-button-on {
  opacity: var(--jp-search-toggle-on-opacity);
}

.jp-DocumentSearch-index-counter {
  padding-left: 10px;
  padding-right: 10px;
  user-select: none;
  min-width: 35px;
  display: inline-block;
}

.jp-DocumentSearch-up-down-wrapper {
  display: inline-block;
  padding-right: 2px;
  margin-left: auto;
  white-space: nowrap;
}

.jp-DocumentSearch-spacer {
  margin-left: auto;
}

.jp-DocumentSearch-up-down-wrapper button {
  outline: 0;
  border: none;
  width: var(--jp-private-document-search-button-height);
  height: var(--jp-private-document-search-button-height);
  vertical-align: middle;
  margin: 1px 5px 2px;
}

.jp-DocumentSearch-up-down-button:hover {
  background-color: var(--jp-layout-color2);
}

.jp-DocumentSearch-up-down-button:active {
  background-color: var(--jp-layout-color3);
}

.jp-DocumentSearch-filter-button {
  border-radius: var(--jp-border-radius);
}

.jp-DocumentSearch-filter-button:hover {
  background-color: var(--jp-layout-color2);
}

.jp-DocumentSearch-filter-button-enabled {
  background-color: var(--jp-layout-color2);
}

.jp-DocumentSearch-filter-button-enabled:hover {
  background-color: var(--jp-layout-color3);
}

.jp-DocumentSearch-search-options {
  padding: 0 8px;
  margin-left: 3px;
  width: 100%;
  display: grid;
  justify-content: start;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  justify-items: stretch;
}

.jp-DocumentSearch-search-filter-disabled {
  color: var(--jp-ui-font-color2);
}

.jp-DocumentSearch-search-filter {
  display: flex;
  align-items: center;
  user-select: none;
}

.jp-DocumentSearch-regex-error {
  color: var(--jp-error-color0);
}

.jp-DocumentSearch-replace-button-wrapper {
  overflow: hidden;
  display: inline-block;
  box-sizing: border-box;
  border: var(--jp-border-width) solid var(--jp-border-color0);
  margin: auto 2px;
  padding: 1px 4px;
  height: calc(var(--jp-private-document-search-button-height) + 2px);
}

.jp-DocumentSearch-replace-button-wrapper:focus {
  border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
}

.jp-DocumentSearch-replace-button {
  display: inline-block;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  color: var(--jp-ui-font-color1);

  /* height - 2 * (padding of wrapper) */
  line-height: calc(var(--jp-private-document-search-button-height) - 2px);
  width: 100%;
  height: 100%;
}

.jp-DocumentSearch-replace-button:focus {
  outline: none;
}

.jp-DocumentSearch-replace-wrapper-class {
  margin-left: 14px;
  display: flex;
}

.jp-DocumentSearch-replace-toggle {
  border: none;
  background-color: var(--jp-toolbar-background);
  border-radius: var(--jp-border-radius);
}

.jp-DocumentSearch-replace-toggle:hover {
  background-color: var(--jp-layout-color2);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.cm-editor {
  line-height: var(--jp-code-line-height);
  font-size: var(--jp-code-font-size);
  font-family: var(--jp-code-font-family);
  border: 0;
  border-radius: 0;
  height: auto;

  /* Changed to auto to autogrow */
}

.cm-editor pre {
  padding: 0 var(--jp-code-padding);
}

.jp-CodeMirrorEditor[data-type='inline'] .cm-dialog {
  background-color: var(--jp-layout-color0);
  color: var(--jp-content-font-color1);
}

.jp-CodeMirrorEditor {
  cursor: text;
}

/* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */
@media screen and (min-width: 2138px) and (max-width: 4319px) {
  .jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
    border-left: var(--jp-code-cursor-width1) solid
      var(--jp-editor-cursor-color);
  }
}

/* When zoomed out less than 33% */
@media screen and (min-width: 4320px) {
  .jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
    border-left: var(--jp-code-cursor-width2) solid
      var(--jp-editor-cursor-color);
  }
}

.cm-editor.jp-mod-readOnly .cm-cursor {
  display: none;
}

.jp-CollaboratorCursor {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: none;
  border-bottom: 3px solid;
  background-clip: content-box;
  margin-left: -5px;
  margin-right: -5px;
}

.cm-searching,
.cm-searching span {
  /* `.cm-searching span`: we need to override syntax highlighting */
  background-color: var(--jp-search-unselected-match-background-color);
  color: var(--jp-search-unselected-match-color);
}

.cm-searching::selection,
.cm-searching span::selection {
  background-color: var(--jp-search-unselected-match-background-color);
  color: var(--jp-search-unselected-match-color);
}

.jp-current-match > .cm-searching,
.jp-current-match > .cm-searching span,
.cm-searching > .jp-current-match,
.cm-searching > .jp-current-match span {
  background-color: var(--jp-search-selected-match-background-color);
  color: var(--jp-search-selected-match-color);
}

.jp-current-match > .cm-searching::selection,
.cm-searching > .jp-current-match::selection,
.jp-current-match > .cm-searching span::selection {
  background-color: var(--jp-search-selected-match-background-color);
  color: var(--jp-search-selected-match-color);
}

.cm-trailingspace {
  background-image: url();
  background-position: center left;
  background-repeat: repeat-x;
}

.jp-CollaboratorCursor-hover {
  position: absolute;
  z-index: 1;
  transform: translateX(-50%);
  color: white;
  border-radius: 3px;
  padding-left: 4px;
  padding-right: 4px;
  padding-top: 1px;
  padding-bottom: 1px;
  text-align: center;
  font-size: var(--jp-ui-font-size1);
  white-space: nowrap;
}

.jp-CodeMirror-ruler {
  border-left: 1px dashed var(--jp-border-color2);
}

/* Styles for shared cursors (remote cursor locations and selected ranges) */
.jp-CodeMirrorEditor .cm-ySelectionCaret {
  position: relative;
  border-left: 1px solid black;
  margin-left: -1px;
  margin-right: -1px;
  box-sizing: border-box;
}

.jp-CodeMirrorEditor .cm-ySelectionCaret > .cm-ySelectionInfo {
  white-space: nowrap;
  position: absolute;
  top: -1.15em;
  padding-bottom: 0.05em;
  left: -1px;
  font-size: 0.95em;
  font-family: var(--jp-ui-font-family);
  font-weight: bold;
  line-height: normal;
  user-select: none;
  color: white;
  padding-left: 2px;
  padding-right: 2px;
  z-index: 101;
  transition: opacity 0.3s ease-in-out;
}

.jp-CodeMirrorEditor .cm-ySelectionInfo {
  transition-delay: 0.7s;
  opacity: 0;
}

.jp-CodeMirrorEditor .cm-ySelectionCaret:hover > .cm-ySelectionInfo {
  opacity: 1;
  transition-delay: 0s;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-MimeDocument {
  outline: none;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  --jp-private-filebrowser-button-height: 28px;
  --jp-private-filebrowser-button-width: 48px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-FileBrowser .jp-SidePanel-content {
  display: flex;
  flex-direction: column;
}

.jp-FileBrowser-toolbar.jp-Toolbar {
  flex-wrap: wrap;
  row-gap: 12px;
  border-bottom: none;
  height: auto;
  margin: 8px 12px 0;
  box-shadow: none;
  padding: 0;
  justify-content: flex-start;
}

.jp-FileBrowser-Panel {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.jp-BreadCrumbs {
  flex: 0 0 auto;
  margin: 8px 12px;
}

.jp-BreadCrumbs-item {
  margin: 0 2px;
  padding: 0 2px;
  border-radius: var(--jp-border-radius);
  cursor: pointer;
}

.jp-BreadCrumbs-item:hover {
  background-color: var(--jp-layout-color2);
}

.jp-BreadCrumbs-item:first-child {
  margin-left: 0;
}

.jp-BreadCrumbs-item.jp-mod-dropTarget {
  background-color: var(--jp-brand-color2);
  opacity: 0.7;
}

/*-----------------------------------------------------------------------------
| Buttons
|----------------------------------------------------------------------------*/

.jp-FileBrowser-toolbar > .jp-Toolbar-item {
  flex: 0 0 auto;
  padding-left: 0;
  padding-right: 2px;
  align-items: center;
  height: unset;
}

.jp-FileBrowser-toolbar > .jp-Toolbar-item .jp-ToolbarButtonComponent {
  width: 40px;
}

/*-----------------------------------------------------------------------------
| Other styles
|----------------------------------------------------------------------------*/

.jp-FileDialog.jp-mod-conflict input {
  color: var(--jp-error-color1);
}

.jp-FileDialog .jp-new-name-title {
  margin-top: 12px;
}

.jp-LastModified-hidden {
  display: none;
}

.jp-FileSize-hidden {
  display: none;
}

.jp-FileBrowser .lm-AccordionPanel > h3:first-child {
  display: none;
}

/*-----------------------------------------------------------------------------
| DirListing
|----------------------------------------------------------------------------*/

.jp-DirListing {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  outline: 0;
}

.jp-DirListing-header {
  flex: 0 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  overflow: hidden;
  border-top: var(--jp-border-width) solid var(--jp-border-color2);
  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
  box-shadow: var(--jp-toolbar-box-shadow);
  z-index: 2;
}

.jp-DirListing-headerItem {
  padding: 4px 12px 2px;
  font-weight: 500;
}

.jp-DirListing-headerItem:hover {
  background: var(--jp-layout-color2);
}

.jp-DirListing-headerItem.jp-id-name {
  flex: 1 0 84px;
}

.jp-DirListing-headerItem.jp-id-modified {
  flex: 0 0 112px;
  border-left: var(--jp-border-width) solid var(--jp-border-color2);
  text-align: right;
}

.jp-DirListing-headerItem.jp-id-filesize {
  flex: 0 0 75px;
  border-left: var(--jp-border-width) solid var(--jp-border-color2);
  text-align: right;
}

.jp-id-narrow {
  display: none;
  flex: 0 0 5px;
  padding: 4px;
  border-left: var(--jp-border-width) solid var(--jp-border-color2);
  text-align: right;
  color: var(--jp-border-color2);
}

.jp-DirListing-narrow .jp-id-narrow {
  display: block;
}

.jp-DirListing-narrow .jp-id-modified,
.jp-DirListing-narrow .jp-DirListing-itemModified {
  display: none;
}

.jp-DirListing-headerItem.jp-mod-selected {
  font-weight: 600;
}

/* increase specificity to override bundled default */
.jp-DirListing-content {
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  list-style-type: none;
  overflow: auto;
  background-color: var(--jp-layout-color1);
}

.jp-DirListing-content mark {
  color: var(--jp-ui-font-color0);
  background-color: transparent;
  font-weight: bold;
}

.jp-DirListing-content .jp-DirListing-item.jp-mod-selected mark {
  color: var(--jp-ui-inverse-font-color0);
}

/* Style the directory listing content when a user drops a file to upload */
.jp-DirListing.jp-mod-native-drop .jp-DirListing-content {
  outline: 5px dashed rgba(128, 128, 128, 0.5);
  outline-offset: -10px;
  cursor: copy;
}

.jp-DirListing-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 4px 12px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jp-DirListing-checkboxWrapper {
  /* Increases hit area of checkbox. */
  padding: 4px;
}

.jp-DirListing-header
  .jp-DirListing-checkboxWrapper
  + .jp-DirListing-headerItem {
  padding-left: 4px;
}

.jp-DirListing-content .jp-DirListing-checkboxWrapper {
  position: relative;
  left: -4px;
  margin: -4px 0 -4px -8px;
}

.jp-DirListing-checkboxWrapper.jp-mod-visible {
  visibility: visible;
}

/* For devices that support hovering, hide checkboxes until hovered, selected...
*/
@media (hover: hover) {
  .jp-DirListing-checkboxWrapper {
    visibility: hidden;
  }

  .jp-DirListing-item:hover .jp-DirListing-checkboxWrapper,
  .jp-DirListing-item.jp-mod-selected .jp-DirListing-checkboxWrapper {
    visibility: visible;
  }
}

.jp-DirListing-item[data-is-dot] {
  opacity: 75%;
}

.jp-DirListing-item.jp-mod-selected {
  color: var(--jp-ui-inverse-font-color1);
  background: var(--jp-brand-color1);
}

.jp-DirListing-item.jp-mod-dropTarget {
  background: var(--jp-brand-color3);
}

.jp-DirListing-item:hover:not(.jp-mod-selected) {
  background: var(--jp-layout-color2);
}

.jp-DirListing-itemIcon {
  flex: 0 0 20px;
  margin-right: 4px;
}

.jp-DirListing-itemText {
  flex: 1 0 64px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  user-select: none;
}

.jp-DirListing-itemText:focus {
  outline-width: 2px;
  outline-color: var(--jp-inverse-layout-color1);
  outline-style: solid;
  outline-offset: 1px;
}

.jp-DirListing-item.jp-mod-selected .jp-DirListing-itemText:focus {
  outline-color: var(--jp-layout-color1);
}

.jp-DirListing-itemModified {
  flex: 0 0 125px;
  text-align: right;
}

.jp-DirListing-itemFileSize {
  flex: 0 0 90px;
  text-align: right;
}

.jp-DirListing-editor {
  flex: 1 0 64px;
  outline: none;
  border: none;
  color: var(--jp-ui-font-color1);
  background-color: var(--jp-layout-color1);
}

.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon::before {
  color: var(--jp-success-color1);
  content: '\25CF';
  font-size: 8px;
  position: absolute;
  left: -8px;
}

.jp-DirListing-item.jp-mod-running.jp-mod-selected
  .jp-DirListing-itemIcon::before {
  color: var(--jp-ui-inverse-font-color1);
}

.jp-DirListing-item.lm-mod-drag-image,
.jp-DirListing-item.jp-mod-selected.lm-mod-drag-image {
  font-size: var(--jp-ui-font-size1);
  padding-left: 4px;
  margin-left: 4px;
  width: 160px;
  background-color: var(--jp-ui-inverse-font-color2);
  box-shadow: var(--jp-elevation-z2);
  border-radius: 0;
  color: var(--jp-ui-font-color1);
  transform: translateX(-40%) translateY(-58%);
}

.jp-Document {
  min-width: 120px;
  min-height: 120px;
  outline: none;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Main OutputArea
| OutputArea has a list of Outputs
|----------------------------------------------------------------------------*/

.jp-OutputArea {
  overflow-y: auto;
}

.jp-OutputArea-child {
  display: table;
  table-layout: fixed;
  width: 100%;
  overflow: hidden;
}

.jp-OutputPrompt {
  width: var(--jp-cell-prompt-width);
  color: var(--jp-cell-outprompt-font-color);
  font-family: var(--jp-cell-prompt-font-family);
  padding: var(--jp-code-padding);
  letter-spacing: var(--jp-cell-prompt-letter-spacing);
  line-height: var(--jp-code-line-height);
  font-size: var(--jp-code-font-size);
  border: var(--jp-border-width) solid transparent;
  opacity: var(--jp-cell-prompt-opacity);

  /* Right align prompt text, don't wrap to handle large prompt numbers */
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  /* Disable text selection */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jp-OutputArea-prompt {
  display: table-cell;
  vertical-align: top;
}

.jp-OutputArea-output {
  display: table-cell;
  width: 100%;
  height: auto;
  overflow: auto;
  user-select: text;
  -moz-user-select: text;
  -webkit-user-select: text;
  -ms-user-select: text;
}

.jp-OutputArea .jp-RenderedText {
  padding-left: 1ch;
}

/**
 * Prompt overlay.
 */

.jp-OutputArea-promptOverlay {
  position: absolute;
  top: 0;
  width: var(--jp-cell-prompt-width);
  height: 100%;
  opacity: 0.5;
}

.jp-OutputArea-promptOverlay:hover {
  background: var(--jp-layout-color2);
  box-shadow: inset 0 0 1px var(--jp-inverse-layout-color0);
  cursor: zoom-out;
}

.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay:hover {
  cursor: zoom-in;
}

/**
 * Isolated output.
 */
.jp-OutputArea-output.jp-mod-isolated {
  width: 100%;
  display: block;
}

/*
When drag events occur, `lm-mod-override-cursor` is added to the body.
Because iframes steal all cursor events, the following two rules are necessary
to suppress pointer events while resize drags are occurring. There may be a
better solution to this problem.
*/
body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated {
  position: relative;
}

body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
}

/* pre */

.jp-OutputArea-output pre {
  border: none;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: auto;
  word-break: break-all;
  word-wrap: break-word;
  white-space: pre-wrap;
}

/* tables */

.jp-OutputArea-output.jp-RenderedHTMLCommon table {
  margin-left: 0;
  margin-right: 0;
}

/* description lists */

.jp-OutputArea-output dl,
.jp-OutputArea-output dt,
.jp-OutputArea-output dd {
  display: block;
}

.jp-OutputArea-output dl {
  width: 100%;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

.jp-OutputArea-output dt {
  font-weight: bold;
  float: left;
  width: 20%;
  padding: 0;
  margin: 0;
}

.jp-OutputArea-output dd {
  float: left;
  width: 80%;
  padding: 0;
  margin: 0;
}

.jp-TrimmedOutputs pre {
  background: var(--jp-layout-color3);
  font-size: calc(var(--jp-code-font-size) * 1.4);
  text-align: center;
  text-transform: uppercase;
}

/* Hide the gutter in case of
 *  - nested output areas (e.g. in the case of output widgets)
 *  - mirrored output areas
 */
.jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt {
  display: none;
}

/* Hide empty lines in the output area, for instance due to cleared widgets */
.jp-OutputArea-prompt:empty {
  padding: 0;
  border: 0;
}

/*-----------------------------------------------------------------------------
| executeResult is added to any Output-result for the display of the object
| returned by a cell
|----------------------------------------------------------------------------*/

.jp-OutputArea-output.jp-OutputArea-executeResult {
  margin-left: 0;
  width: 100%;
}

/* Text output with the Out[] prompt needs a top padding to match the
 * alignment of the Out[] prompt itself.
 */
.jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output {
  padding-top: var(--jp-code-padding);
  border-top: var(--jp-border-width) solid transparent;
}

/*-----------------------------------------------------------------------------
| The Stdin output
|----------------------------------------------------------------------------*/

.jp-Stdin-prompt {
  color: var(--jp-content-font-color0);
  padding-right: var(--jp-code-padding);
  vertical-align: baseline;
  flex: 0 0 auto;
}

.jp-Stdin-input {
  font-family: var(--jp-code-font-family);
  font-size: inherit;
  color: inherit;
  background-color: inherit;
  width: 42%;
  min-width: 200px;

  /* make sure input baseline aligns with prompt */
  vertical-align: baseline;

  /* padding + margin = 0.5em between prompt and cursor */
  padding: 0 0.25em;
  margin: 0 0.25em;
  flex: 0 0 70%;
}

.jp-Stdin-input::placeholder {
  opacity: 0;
}

.jp-Stdin-input:focus {
  box-shadow: none;
}

.jp-Stdin-input:focus::placeholder {
  opacity: 1;
}

/*-----------------------------------------------------------------------------
| Output Area View
|----------------------------------------------------------------------------*/

.jp-LinkedOutputView .jp-OutputArea {
  height: 100%;
  display: block;
}

.jp-LinkedOutputView .jp-OutputArea-output:only-child {
  height: 100%;
}

/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/

@media print {
  .jp-OutputArea-child {
    break-inside: avoid-page;
  }
}

/*-----------------------------------------------------------------------------
| Mobile
|----------------------------------------------------------------------------*/
@media only screen and (max-width: 760px) {
  .jp-OutputPrompt {
    display: table-row;
    text-align: left;
  }

  .jp-OutputArea-child .jp-OutputArea-output {
    display: table-row;
    margin-left: var(--jp-notebook-padding);
  }
}

/* Trimmed outputs warning */
.jp-TrimmedOutputs > a {
  margin: 10px;
  text-decoration: none;
  cursor: pointer;
}

.jp-TrimmedOutputs > a:hover {
  text-decoration: none;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Table of Contents
|----------------------------------------------------------------------------*/

:root {
  --jp-private-toc-active-width: 4px;
}

.jp-TableOfContents {
  display: flex;
  flex-direction: column;
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  height: 100%;
}

.jp-TableOfContents-placeholder {
  text-align: center;
}

.jp-TableOfContents-placeholderContent {
  color: var(--jp-content-font-color2);
  padding: 8px;
}

.jp-TableOfContents-placeholderContent > h3 {
  margin-bottom: var(--jp-content-heading-margin-bottom);
}

.jp-TableOfContents .jp-SidePanel-content {
  overflow-y: auto;
}

.jp-TableOfContents-tree {
  margin: 4px;
}

.jp-TableOfContents ol {
  list-style-type: none;
}

/* stylelint-disable-next-line selector-max-type */
.jp-TableOfContents li > ol {
  /* Align left border with triangle icon center */
  padding-left: 11px;
}

.jp-TableOfContents-content {
  /* left margin for the active heading indicator */
  margin: 0 0 0 var(--jp-private-toc-active-width);
  padding: 0;
  background-color: var(--jp-layout-color1);
}

.jp-tocItem {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jp-tocItem-heading {
  display: flex;
  cursor: pointer;
}

.jp-tocItem-heading:hover {
  background-color: var(--jp-layout-color2);
}

.jp-tocItem-content {
  display: block;
  padding: 4px 0;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow-x: hidden;
}

.jp-tocItem-collapser {
  height: 20px;
  margin: 2px 2px 0;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
}

.jp-tocItem-collapser:hover {
  background-color: var(--jp-layout-color3);
}

/* Active heading indicator */

.jp-tocItem-heading::before {
  content: ' ';
  background: transparent;
  width: var(--jp-private-toc-active-width);
  height: 24px;
  position: absolute;
  left: 0;
  border-radius: var(--jp-border-radius);
}

.jp-tocItem-heading.jp-tocItem-active::before {
  background-color: var(--jp-brand-color1);
}

.jp-tocItem-heading:hover.jp-tocItem-active::before {
  background: var(--jp-brand-color0);
  opacity: 1;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Collapser {
  flex: 0 0 var(--jp-cell-collapser-width);
  padding: 0;
  margin: 0;
  border: none;
  outline: none;
  background: transparent;
  border-radius: var(--jp-border-radius);
  opacity: 1;
}

.jp-Collapser-child {
  display: block;
  width: 100%;
  box-sizing: border-box;

  /* height: 100% doesn't work because the height of its parent is computed from content */
  position: absolute;
  top: 0;
  bottom: 0;
}

/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/

/*
Hiding collapsers in print mode.

Note: input and output wrappers have "display: block" propery in print mode.
*/

@media print {
  .jp-Collapser {
    display: none;
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Header/Footer
|----------------------------------------------------------------------------*/

/* Hidden by zero height by default */
.jp-CellHeader,
.jp-CellFooter {
  height: 0;
  width: 100%;
  padding: 0;
  margin: 0;
  border: none;
  outline: none;
  background: transparent;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Input
|----------------------------------------------------------------------------*/

/* All input areas */
.jp-InputArea {
  display: table;
  table-layout: fixed;
  width: 100%;
  overflow: hidden;
}

.jp-InputArea-editor {
  display: table-cell;
  overflow: hidden;
  vertical-align: top;

  /* This is the non-active, default styling */
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  border-radius: 0;
  background: var(--jp-cell-editor-background);
}

.jp-InputPrompt {
  display: table-cell;
  vertical-align: top;
  width: var(--jp-cell-prompt-width);
  color: var(--jp-cell-inprompt-font-color);
  font-family: var(--jp-cell-prompt-font-family);
  padding: var(--jp-code-padding);
  letter-spacing: var(--jp-cell-prompt-letter-spacing);
  opacity: var(--jp-cell-prompt-opacity);
  line-height: var(--jp-code-line-height);
  font-size: var(--jp-code-font-size);
  border: var(--jp-border-width) solid transparent;

  /* Right align prompt text, don't wrap to handle large prompt numbers */
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  /* Disable text selection */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/*-----------------------------------------------------------------------------
| Mobile
|----------------------------------------------------------------------------*/
@media only screen and (max-width: 760px) {
  .jp-InputArea-editor {
    display: table-row;
    margin-left: var(--jp-notebook-padding);
  }

  .jp-InputPrompt {
    display: table-row;
    text-align: left;
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Placeholder
|----------------------------------------------------------------------------*/

.jp-Placeholder {
  display: table;
  table-layout: fixed;
  width: 100%;
}

.jp-Placeholder-prompt {
  display: table-cell;
  box-sizing: border-box;
}

.jp-Placeholder-content {
  display: table-cell;
  padding: 4px 6px;
  border: 1px solid transparent;
  border-radius: 0;
  background: none;
  box-sizing: border-box;
  cursor: pointer;
}

.jp-Placeholder-contentContainer {
  display: flex;
}

.jp-Placeholder-content:hover,
.jp-InputPlaceholder > .jp-Placeholder-content:hover {
  border-color: var(--jp-layout-color3);
}

.jp-Placeholder-content .jp-MoreHorizIcon {
  width: 32px;
  height: 16px;
  border: 1px solid transparent;
  border-radius: var(--jp-border-radius);
}

.jp-Placeholder-content .jp-MoreHorizIcon:hover {
  border: 1px solid var(--jp-border-color1);
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);
  background-color: var(--jp-layout-color0);
}

.jp-PlaceholderText {
  white-space: nowrap;
  overflow-x: hidden;
  color: var(--jp-inverse-layout-color3);
  font-family: var(--jp-code-font-family);
}

.jp-InputPlaceholder > .jp-Placeholder-content {
  border-color: var(--jp-cell-editor-border-color);
  background: var(--jp-cell-editor-background);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Private CSS variables
|----------------------------------------------------------------------------*/

:root {
  --jp-private-cell-scrolling-output-offset: 5px;
}

/*-----------------------------------------------------------------------------
| Cell
|----------------------------------------------------------------------------*/

.jp-Cell {
  padding: var(--jp-cell-padding);
  margin: 0;
  border: none;
  outline: none;
  background: transparent;
}

/*-----------------------------------------------------------------------------
| Common input/output
|----------------------------------------------------------------------------*/

.jp-Cell-inputWrapper,
.jp-Cell-outputWrapper {
  display: flex;
  flex-direction: row;
  padding: 0;
  margin: 0;

  /* Added to reveal the box-shadow on the input and output collapsers. */
  overflow: visible;
}

/* Only input/output areas inside cells */
.jp-Cell-inputArea,
.jp-Cell-outputArea {
  flex: 1 1 auto;
}

/*-----------------------------------------------------------------------------
| Collapser
|----------------------------------------------------------------------------*/

/* Make the output collapser disappear when there is not output, but do so
 * in a manner that leaves it in the layout and preserves its width.
 */
.jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser {
  border: none !important;
  background: transparent !important;
}

.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser {
  min-height: var(--jp-cell-collapser-min-height);
}

/*-----------------------------------------------------------------------------
| Output
|----------------------------------------------------------------------------*/

/* Put a space between input and output when there IS output */
.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper {
  margin-top: 5px;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea {
  overflow-y: auto;
  max-height: 24em;
  margin-left: var(--jp-private-cell-scrolling-output-offset);
  resize: vertical;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea[style*='height'] {
  max-height: unset;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea::after {
  content: ' ';
  box-shadow: inset 0 0 6px 2px rgb(0 0 0 / 30%);
  width: 100%;
  height: 100%;
  position: sticky;
  bottom: 0;
  top: 0;
  margin-top: -50%;
  float: left;
  display: block;
  pointer-events: none;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-child {
  padding-top: 6px;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt {
  width: calc(
    var(--jp-cell-prompt-width) - var(--jp-private-cell-scrolling-output-offset)
  );
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay {
  left: calc(-1 * var(--jp-private-cell-scrolling-output-offset));
}

/*-----------------------------------------------------------------------------
| CodeCell
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| MarkdownCell
|----------------------------------------------------------------------------*/

.jp-MarkdownOutput {
  display: table-cell;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: var(--jp-code-padding);
}

.jp-MarkdownOutput.jp-RenderedHTMLCommon {
  overflow: auto;
}

/* collapseHeadingButton (show always if hiddenCellsButton is _not_ shown) */
.jp-collapseHeadingButton {
  display: flex;
  min-height: var(--jp-cell-collapser-min-height);
  font-size: var(--jp-code-font-size);
  position: absolute;
  background-color: transparent;
  background-size: 25px;
  background-repeat: no-repeat;
  background-position-x: center;
  background-position-y: top;
  background-image: var(--jp-icon-caret-down);
  right: 0;
  top: 0;
  bottom: 0;
}

.jp-collapseHeadingButton.jp-mod-collapsed {
  background-image: var(--jp-icon-caret-right);
}

/*
 set the container font size to match that of content
 so that the nested collapse buttons have the right size
*/
.jp-MarkdownCell .jp-InputPrompt {
  font-size: var(--jp-content-font-size1);
}

/*
  Align collapseHeadingButton with cell top header
  The font sizes are identical to the ones in packages/rendermime/style/base.css
*/
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='1'] {
  font-size: var(--jp-content-font-size5);
  background-position-y: calc(0.3 * var(--jp-content-font-size5));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='2'] {
  font-size: var(--jp-content-font-size4);
  background-position-y: calc(0.3 * var(--jp-content-font-size4));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='3'] {
  font-size: var(--jp-content-font-size3);
  background-position-y: calc(0.3 * var(--jp-content-font-size3));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='4'] {
  font-size: var(--jp-content-font-size2);
  background-position-y: calc(0.3 * var(--jp-content-font-size2));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='5'] {
  font-size: var(--jp-content-font-size1);
  background-position-y: top;
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='6'] {
  font-size: var(--jp-content-font-size0);
  background-position-y: top;
}

/* collapseHeadingButton (show only on (hover,active) if hiddenCellsButton is shown) */
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-collapseHeadingButton {
  display: none;
}

.jp-Notebook.jp-mod-showHiddenCellsButton
  :is(.jp-MarkdownCell:hover, .jp-mod-active)
  .jp-collapseHeadingButton {
  display: flex;
}

/* showHiddenCellsButton (only show if jp-mod-showHiddenCellsButton is set, which
is a consequence of the showHiddenCellsButton option in Notebook Settings)*/
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton {
  margin-left: calc(var(--jp-cell-prompt-width) + 2 * var(--jp-code-padding));
  margin-top: var(--jp-code-padding);
  border: 1px solid var(--jp-border-color2);
  background-color: var(--jp-border-color3) !important;
  color: var(--jp-content-font-color0) !important;
  display: flex;
}

.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton:hover {
  background-color: var(--jp-border-color2) !important;
}

.jp-showHiddenCellsButton {
  display: none;
}

/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/

/*
Using block instead of flex to allow the use of the break-inside CSS property for
cell outputs.
*/

@media print {
  .jp-Cell-inputWrapper,
  .jp-Cell-outputWrapper {
    display: block;
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  --jp-notebook-toolbar-padding: 2px 5px 2px 2px;
}

/*-----------------------------------------------------------------------------

/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/

.jp-NotebookPanel-toolbar {
  padding: var(--jp-notebook-toolbar-padding);

  /* disable paint containment from lumino 2.0 default strict CSS containment */
  contain: style size !important;
}

.jp-Toolbar-item.jp-Notebook-toolbarCellType .jp-select-wrapper.jp-mod-focused {
  border: none;
  box-shadow: none;
}

.jp-Notebook-toolbarCellTypeDropdown select {
  height: 24px;
  font-size: var(--jp-ui-font-size1);
  line-height: 14px;
  border-radius: 0;
  display: block;
}

.jp-Notebook-toolbarCellTypeDropdown span {
  top: 5px !important;
}

.jp-Toolbar-responsive-popup {
  position: absolute;
  height: fit-content;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  box-shadow: var(--jp-toolbar-box-shadow);
  background: var(--jp-toolbar-background);
  min-height: var(--jp-toolbar-micro-height);
  padding: var(--jp-notebook-toolbar-padding);
  z-index: 1;
  right: 0;
  top: 0;
}

.jp-Toolbar > .jp-Toolbar-responsive-opener {
  margin-left: auto;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------

/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/

.jp-Notebook-ExecutionIndicator {
  position: relative;
  display: inline-block;
  height: 100%;
  z-index: 9997;
}

.jp-Notebook-ExecutionIndicator-tooltip {
  visibility: hidden;
  height: auto;
  width: max-content;
  width: -moz-max-content;
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color1);
  text-align: justify;
  border-radius: 6px;
  padding: 0 5px;
  position: fixed;
  display: table;
}

.jp-Notebook-ExecutionIndicator-tooltip.up {
  transform: translateX(-50%) translateY(-100%) translateY(-32px);
}

.jp-Notebook-ExecutionIndicator-tooltip.down {
  transform: translateX(calc(-100% + 16px)) translateY(5px);
}

.jp-Notebook-ExecutionIndicator-tooltip.hidden {
  display: none;
}

.jp-Notebook-ExecutionIndicator:hover .jp-Notebook-ExecutionIndicator-tooltip {
  visibility: visible;
}

.jp-Notebook-ExecutionIndicator span {
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
  color: var(--jp-ui-font-color1);
  line-height: 24px;
  display: block;
}

.jp-Notebook-ExecutionIndicator-progress-bar {
  display: flex;
  justify-content: center;
  height: 100%;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*
 * Execution indicator
 */
.jp-tocItem-content::after {
  content: '';

  /* Must be identical to form a circle */
  width: 12px;
  height: 12px;
  background: none;
  border: none;
  position: absolute;
  right: 0;
}

.jp-tocItem-content[data-running='0']::after {
  border-radius: 50%;
  border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
  background: none;
}

.jp-tocItem-content[data-running='1']::after {
  border-radius: 50%;
  border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
  background-color: var(--jp-inverse-layout-color3);
}

.jp-tocItem-content[data-running='0'],
.jp-tocItem-content[data-running='1'] {
  margin-right: 12px;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-Notebook-footer {
  height: 27px;
  margin-left: calc(
    var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
      var(--jp-cell-padding)
  );
  width: calc(
    100% -
      (
        var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
          var(--jp-cell-padding) + var(--jp-cell-padding)
      )
  );
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  color: var(--jp-ui-font-color3);
  margin-top: 6px;
  background: none;
  cursor: pointer;
}

.jp-Notebook-footer:focus {
  border-color: var(--jp-cell-editor-active-border-color);
}

/* For devices that support hovering, hide footer until hover */
@media (hover: hover) {
  .jp-Notebook-footer {
    opacity: 0;
  }

  .jp-Notebook-footer:focus,
  .jp-Notebook-footer:hover {
    opacity: 1;
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Imports
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| CSS variables
|----------------------------------------------------------------------------*/

:root {
  --jp-side-by-side-output-size: 1fr;
  --jp-side-by-side-resized-cell: var(--jp-side-by-side-output-size);
  --jp-private-notebook-dragImage-width: 304px;
  --jp-private-notebook-dragImage-height: 36px;
  --jp-private-notebook-selected-color: var(--md-blue-400);
  --jp-private-notebook-active-color: var(--md-green-400);
}

/*-----------------------------------------------------------------------------
| Notebook
|----------------------------------------------------------------------------*/

/* stylelint-disable selector-max-class */

.jp-NotebookPanel {
  display: block;
  height: 100%;
}

.jp-NotebookPanel.jp-Document {
  min-width: 240px;
  min-height: 120px;
}

.jp-Notebook {
  padding: var(--jp-notebook-padding);
  outline: none;
  overflow: auto;
  background: var(--jp-layout-color0);
}

.jp-Notebook.jp-mod-scrollPastEnd::after {
  display: block;
  content: '';
  min-height: var(--jp-notebook-scroll-padding);
}

.jp-MainAreaWidget-ContainStrict .jp-Notebook * {
  contain: strict;
}

.jp-Notebook .jp-Cell {
  overflow: visible;
}

.jp-Notebook .jp-Cell .jp-InputPrompt {
  cursor: move;
}

/*-----------------------------------------------------------------------------
| Notebook state related styling
|
| The notebook and cells each have states, here are the possibilities:
|
| - Notebook
|   - Command
|   - Edit
| - Cell
|   - None
|   - Active (only one can be active)
|   - Selected (the cells actions are applied to)
|   - Multiselected (when multiple selected, the cursor)
|   - No outputs
|----------------------------------------------------------------------------*/

/* Command or edit modes */

.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt {
  opacity: var(--jp-cell-prompt-not-active-opacity);
  color: var(--jp-cell-prompt-not-active-font-color);
}

.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt {
  opacity: var(--jp-cell-prompt-not-active-opacity);
  color: var(--jp-cell-prompt-not-active-font-color);
}

/* cell is active */
.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser {
  background: var(--jp-brand-color1);
}

/* cell is dirty */
.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt {
  color: var(--jp-warn-color1);
}

.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt::before {
  color: var(--jp-warn-color1);
  content: '•';
}

.jp-Notebook .jp-Cell.jp-mod-active.jp-mod-dirty .jp-Collapser {
  background: var(--jp-warn-color1);
}

/* collapser is hovered */
.jp-Notebook .jp-Cell .jp-Collapser:hover {
  box-shadow: var(--jp-elevation-z2);
  background: var(--jp-brand-color1);
  opacity: var(--jp-cell-collapser-not-active-hover-opacity);
}

/* cell is active and collapser is hovered */
.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover {
  background: var(--jp-brand-color0);
  opacity: 1;
}

/* Command mode */

.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected {
  background: var(--jp-notebook-multiselected-color);
}

.jp-Notebook.jp-mod-commandMode
  .jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) {
  background: transparent;
}

/* Edit mode */

.jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor {
  border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
  box-shadow: var(--jp-input-box-shadow);
  background-color: var(--jp-cell-editor-active-background);
}

/*-----------------------------------------------------------------------------
| Notebook drag and drop
|----------------------------------------------------------------------------*/

.jp-Notebook-cell.jp-mod-dropSource {
  opacity: 0.5;
}

.jp-Notebook-cell.jp-mod-dropTarget,
.jp-Notebook.jp-mod-commandMode
  .jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget {
  border-top-color: var(--jp-private-notebook-selected-color);
  border-top-style: solid;
  border-top-width: 2px;
}

.jp-dragImage {
  display: block;
  flex-direction: row;
  width: var(--jp-private-notebook-dragImage-width);
  height: var(--jp-private-notebook-dragImage-height);
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  background: var(--jp-cell-editor-background);
  overflow: visible;
}

.jp-dragImage-singlePrompt {
  box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);
}

.jp-dragImage .jp-dragImage-content {
  flex: 1 1 auto;
  z-index: 2;
  font-size: var(--jp-code-font-size);
  font-family: var(--jp-code-font-family);
  line-height: var(--jp-code-line-height);
  padding: var(--jp-code-padding);
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  background: var(--jp-cell-editor-background-color);
  color: var(--jp-content-font-color3);
  text-align: left;
  margin: 4px 4px 4px 0;
}

.jp-dragImage .jp-dragImage-prompt {
  flex: 0 0 auto;
  min-width: 36px;
  color: var(--jp-cell-inprompt-font-color);
  padding: var(--jp-code-padding);
  padding-left: 12px;
  font-family: var(--jp-cell-prompt-font-family);
  letter-spacing: var(--jp-cell-prompt-letter-spacing);
  line-height: 1.9;
  font-size: var(--jp-code-font-size);
  border: var(--jp-border-width) solid transparent;
}

.jp-dragImage-multipleBack {
  z-index: -1;
  position: absolute;
  height: 32px;
  width: 300px;
  top: 8px;
  left: 8px;
  background: var(--jp-layout-color2);
  border: var(--jp-border-width) solid var(--jp-input-border-color);
  box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);
}

/*-----------------------------------------------------------------------------
| Cell toolbar
|----------------------------------------------------------------------------*/

.jp-NotebookTools {
  display: block;
  min-width: var(--jp-sidebar-min-width);
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);

  /* This is needed so that all font sizing of children done in ems is
    * relative to this base size */
  font-size: var(--jp-ui-font-size1);
  overflow: auto;
}

.jp-ActiveCellTool {
  padding: 12px 0;
  display: flex;
}

.jp-ActiveCellTool-Content {
  flex: 1 1 auto;
}

.jp-ActiveCellTool .jp-ActiveCellTool-CellContent {
  background: var(--jp-cell-editor-background);
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  border-radius: 0;
  min-height: 29px;
}

.jp-ActiveCellTool .jp-InputPrompt {
  min-width: calc(var(--jp-cell-prompt-width) * 0.75);
}

.jp-ActiveCellTool-CellContent > pre {
  padding: 5px 4px;
  margin: 0;
  white-space: normal;
}

.jp-MetadataEditorTool {
  flex-direction: column;
  padding: 12px 0;
}

.jp-RankedPanel > :not(:first-child) {
  margin-top: 12px;
}

.jp-KeySelector select.jp-mod-styled {
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color0);
  border: var(--jp-border-width) solid var(--jp-border-color1);
}

.jp-KeySelector label,
.jp-MetadataEditorTool label,
.jp-NumberSetter label {
  line-height: 1.4;
}

.jp-NotebookTools .jp-select-wrapper {
  margin-top: 4px;
  margin-bottom: 0;
}

.jp-NumberSetter input {
  width: 100%;
  margin-top: 4px;
}

.jp-NotebookTools .jp-Collapse {
  margin-top: 16px;
}

/*-----------------------------------------------------------------------------
| Presentation Mode (.jp-mod-presentationMode)
|----------------------------------------------------------------------------*/

.jp-mod-presentationMode .jp-Notebook {
  --jp-content-font-size1: var(--jp-content-presentation-font-size1);
  --jp-code-font-size: var(--jp-code-presentation-font-size);
}

.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt,
.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt {
  flex: 0 0 110px;
}

/*-----------------------------------------------------------------------------
| Side-by-side Mode (.jp-mod-sideBySide)
|----------------------------------------------------------------------------*/
.jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell {
  margin-top: 3em;
  margin-bottom: 3em;
  margin-left: 5%;
  margin-right: 5%;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) min-content minmax(
      0,
      var(--jp-side-by-side-output-size)
    );
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-areas:
    'header header header'
    'input handle output'
    'footer footer footer';
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell.jp-mod-resizedCell {
  grid-template-columns: minmax(0, 1fr) min-content minmax(
      0,
      var(--jp-side-by-side-resized-cell)
    );
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellHeader {
  grid-area: header;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-inputWrapper {
  grid-area: input;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-outputWrapper {
  /* overwrite the default margin (no vertical separation needed in side by side move */
  margin-top: 0;
  grid-area: output;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellFooter {
  grid-area: footer;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle {
  grid-area: handle;
  user-select: none;
  display: block;
  height: 100%;
  cursor: ew-resize;
  padding: 0 var(--jp-cell-padding);
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle::after {
  content: '';
  display: block;
  background: var(--jp-border-color2);
  height: 100%;
  width: 5px;
}

.jp-mod-sideBySide.jp-Notebook
  .jp-CodeCell.jp-mod-resizedCell
  .jp-CellResizeHandle::after {
  background: var(--jp-border-color0);
}

.jp-CellResizeHandle {
  display: none;
}

/*-----------------------------------------------------------------------------
| Placeholder
|----------------------------------------------------------------------------*/

.jp-Cell-Placeholder {
  padding-left: 55px;
}

.jp-Cell-Placeholder-wrapper {
  background: #fff;
  border: 1px solid;
  border-color: #e5e6e9 #dfe0e4 #d0d1d5;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  margin: 10px 15px;
}

.jp-Cell-Placeholder-wrapper-inner {
  padding: 15px;
  position: relative;
}

.jp-Cell-Placeholder-wrapper-body {
  background-repeat: repeat;
  background-size: 50% auto;
}

.jp-Cell-Placeholder-wrapper-body div {
  background: #f6f7f8;
  background-image: -webkit-linear-gradient(
    left,
    #f6f7f8 0%,
    #edeef1 20%,
    #f6f7f8 40%,
    #f6f7f8 100%
  );
  background-repeat: no-repeat;
  background-size: 800px 104px;
  height: 104px;
  position: absolute;
  right: 15px;
  left: 15px;
  top: 15px;
}

div.jp-Cell-Placeholder-h1 {
  top: 20px;
  height: 20px;
  left: 15px;
  width: 150px;
}

div.jp-Cell-Placeholder-h2 {
  left: 15px;
  top: 50px;
  height: 10px;
  width: 100px;
}

div.jp-Cell-Placeholder-content-1,
div.jp-Cell-Placeholder-content-2,
div.jp-Cell-Placeholder-content-3 {
  left: 15px;
  right: 15px;
  height: 10px;
}

div.jp-Cell-Placeholder-content-1 {
  top: 100px;
}

div.jp-Cell-Placeholder-content-2 {
  top: 120px;
}

div.jp-Cell-Placeholder-content-3 {
  top: 140px;
}

</style>
<style type="text/css">
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*
The following CSS variables define the main, public API for styling JupyterLab.
These variables should be used by all plugins wherever possible. In other
words, plugins should not define custom colors, sizes, etc unless absolutely
necessary. This enables users to change the visual theme of JupyterLab
by changing these variables.

Many variables appear in an ordered sequence (0,1,2,3). These sequences
are designed to work well together, so for example, `--jp-border-color1` should
be used with `--jp-layout-color1`. The numbers have the following meanings:

* 0: super-primary, reserved for special emphasis
* 1: primary, most important under normal situations
* 2: secondary, next most important under normal situations
* 3: tertiary, next most important under normal situations

Throughout JupyterLab, we are mostly following principles from Google's
Material Design when selecting colors. We are not, however, following
all of MD as it is not optimized for dense, information rich UIs.
*/

:root {
  /* Elevation
   *
   * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:
   *
   * https://github.com/material-components/material-components-web
   * https://material-components-web.appspot.com/elevation.html
   */

  --jp-shadow-base-lightness: 0;
  --jp-shadow-umbra-color: rgba(
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    0.2
  );
  --jp-shadow-penumbra-color: rgba(
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    0.14
  );
  --jp-shadow-ambient-color: rgba(
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    0.12
  );
  --jp-elevation-z0: none;
  --jp-elevation-z1: 0 2px 1px -1px var(--jp-shadow-umbra-color),
    0 1px 1px 0 var(--jp-shadow-penumbra-color),
    0 1px 3px 0 var(--jp-shadow-ambient-color);
  --jp-elevation-z2: 0 3px 1px -2px var(--jp-shadow-umbra-color),
    0 2px 2px 0 var(--jp-shadow-penumbra-color),
    0 1px 5px 0 var(--jp-shadow-ambient-color);
  --jp-elevation-z4: 0 2px 4px -1px var(--jp-shadow-umbra-color),
    0 4px 5px 0 var(--jp-shadow-penumbra-color),
    0 1px 10px 0 var(--jp-shadow-ambient-color);
  --jp-elevation-z6: 0 3px 5px -1px var(--jp-shadow-umbra-color),
    0 6px 10px 0 var(--jp-shadow-penumbra-color),
    0 1px 18px 0 var(--jp-shadow-ambient-color);
  --jp-elevation-z8: 0 5px 5px -3px var(--jp-shadow-umbra-color),
    0 8px 10px 1px var(--jp-shadow-penumbra-color),
    0 3px 14px 2px var(--jp-shadow-ambient-color);
  --jp-elevation-z12: 0 7px 8px -4px var(--jp-shadow-umbra-color),
    0 12px 17px 2px var(--jp-shadow-penumbra-color),
    0 5px 22px 4px var(--jp-shadow-ambient-color);
  --jp-elevation-z16: 0 8px 10px -5px var(--jp-shadow-umbra-color),
    0 16px 24px 2px var(--jp-shadow-penumbra-color),
    0 6px 30px 5px var(--jp-shadow-ambient-color);
  --jp-elevation-z20: 0 10px 13px -6px var(--jp-shadow-umbra-color),
    0 20px 31px 3px var(--jp-shadow-penumbra-color),
    0 8px 38px 7px var(--jp-shadow-ambient-color);
  --jp-elevation-z24: 0 11px 15px -7px var(--jp-shadow-umbra-color),
    0 24px 38px 3px var(--jp-shadow-penumbra-color),
    0 9px 46px 8px var(--jp-shadow-ambient-color);

  /* Borders
   *
   * The following variables, specify the visual styling of borders in JupyterLab.
   */

  --jp-border-width: 1px;
  --jp-border-color0: var(--md-grey-400);
  --jp-border-color1: var(--md-grey-400);
  --jp-border-color2: var(--md-grey-300);
  --jp-border-color3: var(--md-grey-200);
  --jp-inverse-border-color: var(--md-grey-600);
  --jp-border-radius: 2px;

  /* UI Fonts
   *
   * The UI font CSS variables are used for the typography all of the JupyterLab
   * user interface elements that are not directly user generated content.
   *
   * The font sizing here is done assuming that the body font size of --jp-ui-font-size1
   * is applied to a parent element. When children elements, such as headings, are sized
   * in em all things will be computed relative to that body size.
   */

  --jp-ui-font-scale-factor: 1.2;
  --jp-ui-font-size0: 0.83333em;
  --jp-ui-font-size1: 13px; /* Base font size */
  --jp-ui-font-size2: 1.2em;
  --jp-ui-font-size3: 1.44em;
  --jp-ui-font-family: system-ui, -apple-system, blinkmacsystemfont, 'Segoe UI',
    helvetica, arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
    'Segoe UI Symbol';

  /*
   * Use these font colors against the corresponding main layout colors.
   * In a light theme, these go from dark to light.
   */

  /* Defaults use Material Design specification */
  --jp-ui-font-color0: rgba(0, 0, 0, 1);
  --jp-ui-font-color1: rgba(0, 0, 0, 0.87);
  --jp-ui-font-color2: rgba(0, 0, 0, 0.54);
  --jp-ui-font-color3: rgba(0, 0, 0, 0.38);

  /*
   * Use these against the brand/accent/warn/error colors.
   * These will typically go from light to darker, in both a dark and light theme.
   */

  --jp-ui-inverse-font-color0: rgba(255, 255, 255, 1);
  --jp-ui-inverse-font-color1: rgba(255, 255, 255, 1);
  --jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7);
  --jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5);

  /* Content Fonts
   *
   * Content font variables are used for typography of user generated content.
   *
   * The font sizing here is done assuming that the body font size of --jp-content-font-size1
   * is applied to a parent element. When children elements, such as headings, are sized
   * in em all things will be computed relative to that body size.
   */

  --jp-content-line-height: 1.6;
  --jp-content-font-scale-factor: 1.2;
  --jp-content-font-size0: 0.83333em;
  --jp-content-font-size1: 14px; /* Base font size */
  --jp-content-font-size2: 1.2em;
  --jp-content-font-size3: 1.44em;
  --jp-content-font-size4: 1.728em;
  --jp-content-font-size5: 2.0736em;

  /* This gives a magnification of about 125% in presentation mode over normal. */
  --jp-content-presentation-font-size1: 17px;
  --jp-content-heading-line-height: 1;
  --jp-content-heading-margin-top: 1.2em;
  --jp-content-heading-margin-bottom: 0.8em;
  --jp-content-heading-font-weight: 500;

  /* Defaults use Material Design specification */
  --jp-content-font-color0: rgba(0, 0, 0, 1);
  --jp-content-font-color1: rgba(0, 0, 0, 0.87);
  --jp-content-font-color2: rgba(0, 0, 0, 0.54);
  --jp-content-font-color3: rgba(0, 0, 0, 0.38);
  --jp-content-link-color: var(--md-blue-900);
  --jp-content-font-family: system-ui, -apple-system, blinkmacsystemfont,
    'Segoe UI', helvetica, arial, sans-serif, 'Apple Color Emoji',
    'Segoe UI Emoji', 'Segoe UI Symbol';

  /*
   * Code Fonts
   *
   * Code font variables are used for typography of code and other monospaces content.
   */

  --jp-code-font-size: 13px;
  --jp-code-line-height: 1.3077; /* 17px for 13px base */
  --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */
  --jp-code-font-family-default: menlo, consolas, 'DejaVu Sans Mono', monospace;
  --jp-code-font-family: var(--jp-code-font-family-default);

  /* This gives a magnification of about 125% in presentation mode over normal. */
  --jp-code-presentation-font-size: 16px;

  /* may need to tweak cursor width if you change font size */
  --jp-code-cursor-width0: 1.4px;
  --jp-code-cursor-width1: 2px;
  --jp-code-cursor-width2: 4px;

  /* Layout
   *
   * The following are the main layout colors use in JupyterLab. In a light
   * theme these would go from light to dark.
   */

  --jp-layout-color0: white;
  --jp-layout-color1: white;
  --jp-layout-color2: var(--md-grey-200);
  --jp-layout-color3: var(--md-grey-400);
  --jp-layout-color4: var(--md-grey-600);

  /* Inverse Layout
   *
   * The following are the inverse layout colors use in JupyterLab. In a light
   * theme these would go from dark to light.
   */

  --jp-inverse-layout-color0: #111;
  --jp-inverse-layout-color1: var(--md-grey-900);
  --jp-inverse-layout-color2: var(--md-grey-800);
  --jp-inverse-layout-color3: var(--md-grey-700);
  --jp-inverse-layout-color4: var(--md-grey-600);

  /* Brand/accent */

  --jp-brand-color0: var(--md-blue-900);
  --jp-brand-color1: var(--md-blue-700);
  --jp-brand-color2: var(--md-blue-300);
  --jp-brand-color3: var(--md-blue-100);
  --jp-brand-color4: var(--md-blue-50);
  --jp-accent-color0: var(--md-green-900);
  --jp-accent-color1: var(--md-green-700);
  --jp-accent-color2: var(--md-green-300);
  --jp-accent-color3: var(--md-green-100);

  /* State colors (warn, error, success, info) */

  --jp-warn-color0: var(--md-orange-900);
  --jp-warn-color1: var(--md-orange-700);
  --jp-warn-color2: var(--md-orange-300);
  --jp-warn-color3: var(--md-orange-100);
  --jp-error-color0: var(--md-red-900);
  --jp-error-color1: var(--md-red-700);
  --jp-error-color2: var(--md-red-300);
  --jp-error-color3: var(--md-red-100);
  --jp-success-color0: var(--md-green-900);
  --jp-success-color1: var(--md-green-700);
  --jp-success-color2: var(--md-green-300);
  --jp-success-color3: var(--md-green-100);
  --jp-info-color0: var(--md-cyan-900);
  --jp-info-color1: var(--md-cyan-700);
  --jp-info-color2: var(--md-cyan-300);
  --jp-info-color3: var(--md-cyan-100);

  /* Cell specific styles */

  --jp-cell-padding: 5px;
  --jp-cell-collapser-width: 8px;
  --jp-cell-collapser-min-height: 20px;
  --jp-cell-collapser-not-active-hover-opacity: 0.6;
  --jp-cell-editor-background: var(--md-grey-100);
  --jp-cell-editor-border-color: var(--md-grey-300);
  --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300);
  --jp-cell-editor-active-background: var(--jp-layout-color0);
  --jp-cell-editor-active-border-color: var(--jp-brand-color1);
  --jp-cell-prompt-width: 64px;
  --jp-cell-prompt-font-family: var(--jp-code-font-family-default);
  --jp-cell-prompt-letter-spacing: 0;
  --jp-cell-prompt-opacity: 1;
  --jp-cell-prompt-not-active-opacity: 0.5;
  --jp-cell-prompt-not-active-font-color: var(--md-grey-700);

  /* A custom blend of MD grey and blue 600
   * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */
  --jp-cell-inprompt-font-color: #307fc1;

  /* A custom blend of MD grey and orange 600
   * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */
  --jp-cell-outprompt-font-color: #bf5b3d;

  /* Notebook specific styles */

  --jp-notebook-padding: 10px;
  --jp-notebook-select-background: var(--jp-layout-color1);
  --jp-notebook-multiselected-color: var(--md-blue-50);

  /* The scroll padding is calculated to fill enough space at the bottom of the
  notebook to show one single-line cell (with appropriate padding) at the top
  when the notebook is scrolled all the way to the bottom. We also subtract one
  pixel so that no scrollbar appears if we have just one single-line cell in the
  notebook. This padding is to enable a 'scroll past end' feature in a notebook.
  */
  --jp-notebook-scroll-padding: calc(
    100% - var(--jp-code-font-size) * var(--jp-code-line-height) -
      var(--jp-code-padding) - var(--jp-cell-padding) - 1px
  );

  /* Rendermime styles */

  --jp-rendermime-error-background: #fdd;
  --jp-rendermime-table-row-background: var(--md-grey-100);
  --jp-rendermime-table-row-hover-background: var(--md-light-blue-50);

  /* Dialog specific styles */

  --jp-dialog-background: rgba(0, 0, 0, 0.25);

  /* Console specific styles */

  --jp-console-padding: 10px;

  /* Toolbar specific styles */

  --jp-toolbar-border-color: var(--jp-border-color1);
  --jp-toolbar-micro-height: 8px;
  --jp-toolbar-background: var(--jp-layout-color1);
  --jp-toolbar-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.24);
  --jp-toolbar-header-margin: 4px 4px 0 4px;
  --jp-toolbar-active-background: var(--md-grey-300);

  /* Statusbar specific styles */

  --jp-statusbar-height: 24px;

  /* Input field styles */

  --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300);
  --jp-input-active-background: var(--jp-layout-color1);
  --jp-input-hover-background: var(--jp-layout-color1);
  --jp-input-background: var(--md-grey-100);
  --jp-input-border-color: var(--jp-inverse-border-color);
  --jp-input-active-border-color: var(--jp-brand-color1);
  --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);

  /* General editor styles */

  --jp-editor-selected-background: #d9d9d9;
  --jp-editor-selected-focused-background: #d7d4f0;
  --jp-editor-cursor-color: var(--jp-ui-font-color0);

  /* Code mirror specific styles */

  --jp-mirror-editor-keyword-color: #008000;
  --jp-mirror-editor-atom-color: #88f;
  --jp-mirror-editor-number-color: #080;
  --jp-mirror-editor-def-color: #00f;
  --jp-mirror-editor-variable-color: var(--md-grey-900);
  --jp-mirror-editor-variable-2-color: rgb(0, 54, 109);
  --jp-mirror-editor-variable-3-color: #085;
  --jp-mirror-editor-punctuation-color: #05a;
  --jp-mirror-editor-property-color: #05a;
  --jp-mirror-editor-operator-color: #a2f;
  --jp-mirror-editor-comment-color: #408080;
  --jp-mirror-editor-string-color: #ba2121;
  --jp-mirror-editor-string-2-color: #708;
  --jp-mirror-editor-meta-color: #a2f;
  --jp-mirror-editor-qualifier-color: #555;
  --jp-mirror-editor-builtin-color: #008000;
  --jp-mirror-editor-bracket-color: #997;
  --jp-mirror-editor-tag-color: #170;
  --jp-mirror-editor-attribute-color: #00c;
  --jp-mirror-editor-header-color: blue;
  --jp-mirror-editor-quote-color: #090;
  --jp-mirror-editor-link-color: #00c;
  --jp-mirror-editor-error-color: #f00;
  --jp-mirror-editor-hr-color: #999;

  /*
    RTC user specific colors.
    These colors are used for the cursor, username in the editor,
    and the icon of the user.
  */

  --jp-collaborator-color1: #ffad8e;
  --jp-collaborator-color2: #dac83d;
  --jp-collaborator-color3: #72dd76;
  --jp-collaborator-color4: #00e4d0;
  --jp-collaborator-color5: #45d4ff;
  --jp-collaborator-color6: #e2b1ff;
  --jp-collaborator-color7: #ff9de6;

  /* Vega extension styles */

  --jp-vega-background: white;

  /* Sidebar-related styles */

  --jp-sidebar-min-width: 250px;

  /* Search-related styles */

  --jp-search-toggle-off-opacity: 0.5;
  --jp-search-toggle-hover-opacity: 0.8;
  --jp-search-toggle-on-opacity: 1;
  --jp-search-selected-match-background-color: rgb(245, 200, 0);
  --jp-search-selected-match-color: black;
  --jp-search-unselected-match-background-color: var(
    --jp-inverse-layout-color0
  );
  --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0);

  /* Icon colors that work well with light or dark backgrounds */
  --jp-icon-contrast-color0: var(--md-purple-600);
  --jp-icon-contrast-color1: var(--md-green-600);
  --jp-icon-contrast-color2: var(--md-pink-600);
  --jp-icon-contrast-color3: var(--md-blue-600);

  /* Button colors */
  --jp-accept-color-normal: var(--md-blue-700);
  --jp-accept-color-hover: var(--md-blue-800);
  --jp-accept-color-active: var(--md-blue-900);
  --jp-warn-color-normal: var(--md-red-700);
  --jp-warn-color-hover: var(--md-red-800);
  --jp-warn-color-active: var(--md-red-900);
  --jp-reject-color-normal: var(--md-grey-600);
  --jp-reject-color-hover: var(--md-grey-700);
  --jp-reject-color-active: var(--md-grey-800);

  /* File or activity icons and switch semantic variables */
  --jp-jupyter-icon-color: #f37626;
  --jp-notebook-icon-color: #f37626;
  --jp-json-icon-color: var(--md-orange-700);
  --jp-console-icon-background-color: var(--md-blue-700);
  --jp-console-icon-color: white;
  --jp-terminal-icon-background-color: var(--md-grey-800);
  --jp-terminal-icon-color: var(--md-grey-200);
  --jp-text-editor-icon-color: var(--md-grey-700);
  --jp-inspector-icon-color: var(--md-grey-700);
  --jp-switch-color: var(--md-grey-400);
  --jp-switch-true-position-color: var(--md-orange-900);
}
</style>
<style type="text/css">
/* Force rendering true colors when outputing to pdf */
* {
  -webkit-print-color-adjust: exact;
}

/* Misc */
a.anchor-link {
  display: none;
}

/* Input area styling */
.jp-InputArea {
  overflow: hidden;
}

.jp-InputArea-editor {
  overflow: hidden;
}

.cm-editor.cm-s-jupyter .highlight pre {
/* weird, but --jp-code-padding defined to be 5px but 4px horizontal padding is hardcoded for pre.cm-line */
  padding: var(--jp-code-padding) 4px;
  margin: 0;

  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;

}

.jp-OutputArea-output pre {
  line-height: inherit;
  font-family: inherit;
}

.jp-RenderedText pre {
  color: var(--jp-content-font-color1);
  font-size: var(--jp-code-font-size);
}

/* Hiding the collapser by default */
.jp-Collapser {
  display: none;
}

@page {
    margin: 0.5in; /* Margin for each printed piece of paper */
}

@media print {
  .jp-Cell-inputWrapper,
  .jp-Cell-outputWrapper {
    display: block;
  }
}
</style>
<!-- Load mathjax -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS_CHTML-full,Safe"> </script>
<!-- MathJax configuration -->
<script type="text/x-mathjax-config">
    init_mathjax = function() {
        if (window.MathJax) {
        // MathJax loaded
            MathJax.Hub.Config({
                TeX: {
                    equationNumbers: {
                    autoNumber: "AMS",
                    useLabelIds: true
                    }
                },
                tex2jax: {
                    inlineMath: [ ['$','$'], ["\\(","\\)"] ],
                    displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
                    processEscapes: true,
                    processEnvironments: true
                },
                displayAlign: 'center',
                CommonHTML: {
                    linebreaks: {
                    automatic: true
                    }
                }
            });

            MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
        }
    }
    init_mathjax();
    </script>
<!-- End of mathjax configuration --><script type="module">
  document.addEventListener("DOMContentLoaded", async () => {
    const diagrams = document.querySelectorAll(".jp-Mermaid > pre.mermaid");
    // do not load mermaidjs if not needed
    if (!diagrams.length) {
      return;
    }
    const mermaid = (await import("https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.6.0/mermaid.esm.min.mjs")).default;
    const parser = new DOMParser();

    mermaid.initialize({
      maxTextSize: 100000,
      startOnLoad: false,
      fontFamily: window
        .getComputedStyle(document.body)
        .getPropertyValue("--jp-ui-font-family"),
      theme: document.querySelector("body[data-jp-theme-light='true']")
        ? "default"
        : "dark",
    });

    let _nextMermaidId = 0;

    function makeMermaidImage(svg) {
      const img = document.createElement("img");
      const doc = parser.parseFromString(svg, "image/svg+xml");
      const svgEl = doc.querySelector("svg");
      const { maxWidth } = svgEl?.style || {};
      const firstTitle = doc.querySelector("title");
      const firstDesc = doc.querySelector("desc");

      img.setAttribute("src", `data:image/svg+xml,${encodeURIComponent(svg)}`);
      if (maxWidth) {
        img.width = parseInt(maxWidth);
      }
      if (firstTitle) {
        img.setAttribute("alt", firstTitle.textContent);
      }
      if (firstDesc) {
        const caption = document.createElement("figcaption");
        caption.className = "sr-only";
        caption.textContent = firstDesc.textContent;
        return [img, caption];
      }
      return [img];
    }

    async function makeMermaidError(text) {
      let errorMessage = "";
      try {
        await mermaid.parse(text);
      } catch (err) {
        errorMessage = `${err}`;
      }

      const result = document.createElement("details");
      result.className = 'jp-RenderedMermaid-Details';
      const summary = document.createElement("summary");
      summary.className = 'jp-RenderedMermaid-Summary';
      const pre = document.createElement("pre");
      const code = document.createElement("code");
      code.innerText = text;
      pre.appendChild(code);
      summary.appendChild(pre);
      result.appendChild(summary);

      const warning = document.createElement("pre");
      warning.innerText = errorMessage;
      result.appendChild(warning);
      return [result];
    }

    async function renderOneMarmaid(src) {
      const id = `jp-mermaid-${_nextMermaidId++}`;
      const parent = src.parentNode;
      let raw = src.textContent.trim();
      const el = document.createElement("div");
      el.style.visibility = "hidden";
      document.body.appendChild(el);
      let results = null;
      let output = null;
      try {
        const { svg } = await mermaid.render(id, raw, el);
        results = makeMermaidImage(svg);
        output = document.createElement("figure");
        results.map(output.appendChild, output);
      } catch (err) {
        parent.classList.add("jp-mod-warning");
        results = await makeMermaidError(raw);
        output = results[0];
      } finally {
        el.remove();
      }
      parent.classList.add("jp-RenderedMermaid");
      parent.appendChild(output);
    }

    void Promise.all([...diagrams].map(renderOneMarmaid));
  });
</script>
<style>
  .jp-Mermaid:not(.jp-RenderedMermaid) {
    display: none;
  }

  .jp-RenderedMermaid {
    overflow: auto;
    display: flex;
  }

  .jp-RenderedMermaid.jp-mod-warning {
    width: auto;
    padding: 0.5em;
    margin-top: 0.5em;
    border: var(--jp-border-width) solid var(--jp-warn-color2);
    border-radius: var(--jp-border-radius);
    color: var(--jp-ui-font-color1);
    font-size: var(--jp-ui-font-size1);
    white-space: pre-wrap;
    word-wrap: break-word;
  }

  .jp-RenderedMermaid figure {
    margin: 0;
    overflow: auto;
    max-width: 100%;
  }

  .jp-RenderedMermaid img {
    max-width: 100%;
  }

  .jp-RenderedMermaid-Details > pre {
    margin-top: 1em;
  }

  .jp-RenderedMermaid-Summary {
    color: var(--jp-warn-color2);
  }

  .jp-RenderedMermaid:not(.jp-mod-warning) pre {
    display: none;
  }

  .jp-RenderedMermaid-Summary > pre {
    display: inline-block;
    white-space: normal;
  }
</style>
<!-- End of mermaid configuration --></head>
<body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light">
<main><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=98ba8951-eedb-46a7-9a01-6817e430ce87">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [1]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">requests</span>  
<span class="kn">from</span> <span class="nn">bs4</span> <span class="kn">import</span> <span class="n">BeautifulSoup</span>  
<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span> 
</pre></div>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=ea112e87-a0dc-4620-b413-8827f3b17c43">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [2]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">url</span><span class="o">=</span><span class="s1">'https://www.qimao.com/paihang'</span>
<span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>&lt;Response [200]&gt;
</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=f6fb928b-9ce1-4cca-a812-2bba12f81b65">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [3]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">soup</span> <span class="o">=</span> <span class="n">BeautifulSoup</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">text</span><span class="p">,</span> <span class="s1">'html.parser'</span><span class="p">)</span>  
<span class="nb">print</span><span class="p">(</span><span class="n">soup</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>&lt;!DOCTYPE html&gt;

&lt;html data-n-head-ssr=""&gt;
&lt;head&gt;
&lt;title&gt;免费小说排行榜-七猫免费小说排行榜-原创风云榜-七猫中文网&lt;/title&gt;&lt;meta content="IE=edge" data-n-head="ssr" http-equiv="X-UA-Compatible"/&gt;&lt;meta content="webkit" data-n-head="ssr" name="renderer"/&gt;&lt;meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,viewport-fit=cover" data-n-head="ssr" name="viewport"/&gt;&lt;meta content="telephone=no,email=no" data-n-head="ssr" name="format-detection"/&gt;&lt;meta content="no" data-n-head="ssr" name="wap-font-scale"/&gt;&lt;meta content="男频小说，男频小说完本，男频小说排行榜，男频小说排行榜完本，七猫免费小说，七猫中文网，七猫" data-hid="keywords" data-n-head="ssr" name="keywords"/&gt;&lt;meta content="七猫中文网（免费小说大全）与国内各大小说站合作，七猫免费小说为小说爱好者推荐更多更全的各类免费上百万本授权小说。想看男频小说，七猫免费小说提供免费男频小说全文阅读和下载。七猫中文网只有想不到，没有找不到！" data-hid="description" data-n-head="ssr" name="description"/&gt;&lt;link data-hid="icon" data-n-head="ssr" href="https://cdn-front.qimao.com/global/static/images/favicon2022.ico" rel="icon" type="image/x-icon"/&gt;&lt;script data-n-head="ssr" src="https://cdn-front.qimao.com/global/static/plugins/css-vars-ponyfill/2.4.7/index.js"&gt;&lt;/script&gt;&lt;link as="script" href="https://cdn-front.qimao.com/qimao/js/ac83bad.js" rel="preload"/&gt;&lt;link as="script" href="https://cdn-front.qimao.com/qimao/js/55b9a0d.js" rel="preload"/&gt;&lt;link as="script" href="https://cdn-front.qimao.com/qimao/js/214c30e.js" rel="preload"/&gt;&lt;link as="style" href="https://cdn-front.qimao.com/qimao/css/7ba94eb.css" rel="preload"/&gt;&lt;link as="script" href="https://cdn-front.qimao.com/qimao/js/2a34c77.js" rel="preload"/&gt;&lt;link as="style" href="https://cdn-front.qimao.com/qimao/css/7441790.css" rel="preload"/&gt;&lt;link as="script" href="https://cdn-front.qimao.com/qimao/js/b112dbd.js" rel="preload"/&gt;&lt;link href="https://cdn-front.qimao.com/qimao/css/7ba94eb.css" rel="stylesheet"/&gt;&lt;link href="https://cdn-front.qimao.com/qimao/css/7441790.css" rel="stylesheet"/&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div data-server-rendered="true" id="__nuxt"&gt;&lt;div id="__layout"&gt;&lt;div class="qimao" data-v-282b064a=""&gt;&lt;div class="qm-header" data-v-282b064a="" data-v-6a926c16=""&gt;&lt;div class="qm-header-con" data-v-6a926c16=""&gt;&lt;div class="qm-main" data-v-24e09dca="" data-v-6a926c16=""&gt;&lt;div class="qm-header-row con" data-v-24e09dca="" data-v-6a926c16=""&gt;&lt;div class="left-col" data-v-24e09dca="" data-v-6a926c16=""&gt;&lt;a class="logo" data-v-24e09dca="" data-v-6a926c16="" href="/"&gt;&lt;img alt="七猫中文网" class="logo-img" data-v-24e09dca="" data-v-6a926c16="" height="44" src="https://cdn-front.qimao.com/qimao/img/header/logo.d026f02.png" width="190"/&gt; &lt;img alt="匠心打磨好作品" class="logo-img" data-v-24e09dca="" data-v-6a926c16="" height="44" src="https://cdn-front.qimao.com/qimao/img/header/slogan.5aedff4.png" width="182"/&gt;&lt;/a&gt;&lt;/div&gt; &lt;div class="right-col" data-v-24e09dca="" data-v-6a926c16=""&gt;&lt;div class="search-wrap" data-v-24e09dca="" data-v-6a926c16=""&gt;&lt;div class="qm-search qm-search-type-1" data-v-6a926c16="" data-v-f1f768ac="" value=""&gt;&lt;span class="s-input" data-v-f1f768ac=""&gt;&lt;input data-v-f1f768ac="" placeholder="请输入书名/作者/主角" type="text" value=""/&gt; &lt;!-- --&gt; &lt;a class="a-search-btn" data-v-f1f768ac="" href="javascript:void(0);"&gt;搜索&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="qm-user-avator" data-v-116f2666="" data-v-6a926c16=""&gt;&lt;div class="login-btn" data-v-116f2666=""&gt;&lt;a data-v-116f2666="" href="/login?redirect=/paihang"&gt;&lt;i class="iconfont" data-v-116f2666=""&gt;&lt;/i&gt; &lt;span class="login-txt" data-v-116f2666=""&gt;立即登录&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="qm-header-menu" data-v-6a926c16=""&gt;&lt;div class="qm-main" data-v-24e09dca="" data-v-6a926c16=""&gt;&lt;div class="qm-header-row menu" data-v-24e09dca="" data-v-6a926c16=""&gt;&lt;div class="left-col" data-v-24e09dca="" data-v-6a926c16=""&gt;&lt;ul class="qm-header-nav middle" data-v-2b590c6c="" data-v-6a926c16=""&gt;&lt;li class="qm-header-nav-item" data-v-2b590c6c=""&gt;&lt;a data-v-2b590c6c="" href="/" target=""&gt;
            首页
        &lt;/a&gt;&lt;/li&gt;&lt;li class="qm-header-nav-item" data-v-2b590c6c=""&gt;&lt;a data-v-2b590c6c="" href="/shuku/a-a-a-a-a-a-a-click-1/" target=""&gt;
            分类
        &lt;/a&gt;&lt;/li&gt;&lt;li class="qm-header-nav-item active" data-v-2b590c6c=""&gt;&lt;a data-v-2b590c6c="" href="/paihang" target=""&gt;
            排行榜
        &lt;/a&gt;&lt;/li&gt;&lt;li class="qm-header-nav-item" data-v-2b590c6c=""&gt;&lt;a data-v-2b590c6c="" href="/activity/current/" target="_blank"&gt;
            征文活动
        &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt; &lt;div class="right-col" data-v-24e09dca="" data-v-6a926c16=""&gt;&lt;ul class="qm-header-nav middle" data-v-2b590c6c="" data-v-6a926c16=""&gt;&lt;li class="qm-header-nav-item" data-v-2b590c6c=""&gt;&lt;a data-v-2b590c6c="" href="https://zuozhe.qimao.com" target="_blank"&gt;
            作家专区
        &lt;/a&gt;&lt;/li&gt;&lt;li class="qm-header-nav-item" data-v-2b590c6c=""&gt;&lt;a data-v-2b590c6c="" href="/2024fuli.html" target="_blank"&gt;
            签约政策
        &lt;/a&gt;&lt;/li&gt;&lt;li class="qm-header-nav-item" data-v-2b590c6c=""&gt;&lt;a data-v-2b590c6c="" href="/2024fuli.html?type=location" target="_blank"&gt;
            投稿指南
        &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="qm-sheader fixed" data-v-14e22746="" data-v-282b064a=""&gt;&lt;div class="qm-main" data-v-14e22746="" data-v-24e09dca=""&gt;&lt;div class="qm-sheader-row" data-v-14e22746="" data-v-24e09dca=""&gt;&lt;div class="left-col" data-v-14e22746="" data-v-24e09dca=""&gt;&lt;a class="logo mr40" data-v-14e22746="" data-v-24e09dca="" href="/"&gt;&lt;img alt="七猫中文网" class="logo-img" data-v-14e22746="" data-v-24e09dca="" height="36" src="https://cdn-front.qimao.com/qimao/img/header/logo.d026f02.png" width="156"/&gt;&lt;/a&gt; &lt;ul class="qm-header-nav mr small" data-v-14e22746="" data-v-2b590c6c=""&gt;&lt;li class="qm-header-nav-item" data-v-2b590c6c=""&gt;&lt;a data-v-2b590c6c="" href="/" target=""&gt;
            首页
        &lt;/a&gt;&lt;/li&gt;&lt;li class="qm-header-nav-item" data-v-2b590c6c=""&gt;&lt;a data-v-2b590c6c="" href="/shuku/a-a-a-a-a-a-a-click-1/" target=""&gt;
            分类
        &lt;/a&gt;&lt;/li&gt;&lt;li class="qm-header-nav-item active" data-v-2b590c6c=""&gt;&lt;a data-v-2b590c6c="" href="/paihang" target=""&gt;
            排行榜
        &lt;/a&gt;&lt;/li&gt;&lt;li class="qm-header-nav-item" data-v-2b590c6c=""&gt;&lt;a data-v-2b590c6c="" href="/activity/current/" target="_blank"&gt;
            征文活动
        &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;ul class="qm-header-nav small" data-v-14e22746="" data-v-2b590c6c=""&gt;&lt;li class="qm-header-nav-item" data-v-2b590c6c=""&gt;&lt;a data-v-2b590c6c="" href="https://zuozhe.qimao.com" target="_blank"&gt;
            作家专区
        &lt;/a&gt;&lt;/li&gt;&lt;li class="qm-header-nav-item" data-v-2b590c6c=""&gt;&lt;a data-v-2b590c6c="" href="/2024fuli.html" target="_blank"&gt;
            签约政策
        &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt; &lt;div class="right-col" data-v-14e22746="" data-v-24e09dca=""&gt;&lt;div class="search-wrap" data-v-14e22746="" data-v-24e09dca=""&gt;&lt;div class="qm-search qm-search-type-2" data-v-14e22746="" data-v-f1f768ac="" value=""&gt;&lt;span class="s-input" data-v-f1f768ac=""&gt;&lt;input data-v-f1f768ac="" placeholder="请输入书名/作者/主角" type="text" value=""/&gt; &lt;!-- --&gt; &lt;a class="a-search-btn" data-v-f1f768ac="" href="javascript:void(0);"&gt;搜索&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="qm-user-avator" data-v-116f2666="" data-v-14e22746=""&gt;&lt;div class="login-btn" data-v-116f2666=""&gt;&lt;a data-v-116f2666="" href="/login?redirect=/paihang"&gt;&lt;i class="iconfont" data-v-116f2666=""&gt;&lt;/i&gt; &lt;span class="login-txt" data-v-116f2666=""&gt;立即登录&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="wrapper" data-v-282b064a=""&gt;&lt;div class="paihang" data-v-282b064a="" data-v-31e61386=""&gt;&lt;div class="paihang-header" data-v-31e61386=""&gt;&lt;div class="paihang-header-banner" data-v-31e61386=""&gt;&lt;img data-v-31e61386="" height="110px" src="https://cdn-front.qimao.com/qimao/img/paihang/paihang_banner.5db56bc.png" width="1160px"/&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="paihang-wrap" data-v-31e61386=""&gt;&lt;div class="paihang-wrap-header" data-v-31e61386=""&gt;&lt;div class="qm-switch-tab clearfix tab-btn large" data-v-141110d2="" data-v-31e61386=""&gt;&lt;span class="item init active" data-v-141110d2=""&gt;
            男生榜
    &lt;/span&gt;&lt;span class="item" data-v-141110d2=""&gt;&lt;!-- --&gt;
            女生榜
    &lt;/span&gt; &lt;!-- --&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="paihang-wrap-content clearfix" data-v-31e61386=""&gt;&lt;div class="menu-tabs left-menu" data-v-3034b3ca="" data-v-31e61386=""&gt;&lt;ul class="menu-tabs-list" data-v-3034b3ca=""&gt;&lt;li data-v-3034b3ca=""&gt;&lt;div class="menu-tabs-item menu-tab active" data-v-3034b3ca=""&gt;&lt;a class="menu-tab-a" data-v-3034b3ca="" href="/paihang/boy/top/month/"&gt;&lt;span data-v-3034b3ca=""&gt;原创风云榜&lt;/span&gt; &lt;span class="hot-icon" data-v-3034b3ca=""&gt;&lt;img data-v-3034b3ca="" height="20px" src="https://cdn-front.qimao.com/qimao/img/paihang/hot_icon.4dec7ae.png" width="20px"/&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt; &lt;!-- --&gt;&lt;/li&gt;&lt;li data-v-3034b3ca=""&gt;&lt;div class="menu-tabs-item menu-tab" data-v-3034b3ca=""&gt;&lt;a class="menu-tab-a" data-v-3034b3ca="" href="/paihang/boy/leap/month/"&gt;&lt;span data-v-3034b3ca=""&gt;原创飞跃榜&lt;/span&gt; &lt;span class="hot-icon" data-v-3034b3ca=""&gt;&lt;img data-v-3034b3ca="" height="20px" src="https://cdn-front.qimao.com/qimao/img/paihang/hot_icon.4dec7ae.png" width="20px"/&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt; &lt;!-- --&gt;&lt;/li&gt;&lt;li data-v-3034b3ca=""&gt;&lt;div class="menu-tabs-item menu-tab unclick" data-v-3034b3ca=""&gt;&lt;span class="menu-tabs-item-txt" data-v-3034b3ca=""&gt;热门作品排行&lt;/span&gt;&lt;/div&gt; &lt;div class="child-tabs" data-v-3034b3ca=""&gt;&lt;ul class="child-tabs-list" data-v-3034b3ca=""&gt;&lt;li data-v-3034b3ca=""&gt;&lt;div class="child-tabs-item menu-tab" data-v-3034b3ca=""&gt;&lt;a data-v-3034b3ca="" href="/paihang/boy/hot/date/"&gt;大热榜&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li data-v-3034b3ca=""&gt;&lt;div class="child-tabs-item menu-tab" data-v-3034b3ca=""&gt;&lt;a data-v-3034b3ca="" href="/paihang/boy/new/date/"&gt;新书榜&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li data-v-3034b3ca=""&gt;&lt;div class="child-tabs-item menu-tab" data-v-3034b3ca=""&gt;&lt;a data-v-3034b3ca="" href="/paihang/boy/over/date/"&gt;完结榜&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li data-v-3034b3ca=""&gt;&lt;div class="child-tabs-item menu-tab" data-v-3034b3ca=""&gt;&lt;a data-v-3034b3ca="" href="/paihang/boy/collect/date/"&gt;收藏榜&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li data-v-3034b3ca=""&gt;&lt;div class="child-tabs-item menu-tab" data-v-3034b3ca=""&gt;&lt;a data-v-3034b3ca="" href="/paihang/boy/update/date/"&gt;更新榜&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt; &lt;div class="paihang-wrap-content-detail" data-v-31e61386=""&gt;&lt;div class="rank-list-wrap" data-fetch-key="data-v-0f9e9670:0" data-v-0f9e9670="" data-v-31e61386=""&gt;&lt;div class="header" data-v-0f9e9670=""&gt;&lt;span class="header-txt" data-v-0f9e9670=""&gt;原创风云榜&lt;/span&gt;&lt;/div&gt; &lt;div class="sub-header clearfix" data-v-0f9e9670=""&gt;&lt;div class="left-col" data-v-0f9e9670=""&gt;&lt;span class="rule-txt" data-v-0f9e9670=""&gt;
                    基于书籍综合指标排行
                &lt;/span&gt; &lt;div class="list-rules" data-v-0f9e9670=""&gt;&lt;span class="popover-icon" data-v-0f9e9670=""&gt;&lt;i class="iconfont" data-v-0f9e9670=""&gt;&lt;/i&gt;&lt;/span&gt; &lt;div class="popover-info" data-v-0f9e9670=""&gt;&lt;div class="popover-info-txt" data-v-0f9e9670=""&gt;
                            原创风云榜是针对七猫中文网所有独家签约作品，基于上月的作品收入、好评数、打赏值、必读票数及作品题材五大维度综合计算，并于每月3日12点准时发布。
                        &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="right-col" data-v-0f9e9670=""&gt;&lt;!-- --&gt; &lt;div class="rank-select" data-v-0f9e9670="" data-v-390e7c41=""&gt;&lt;div class="rank-select-label clickable" data-v-390e7c41=""&gt;&lt;span data-v-390e7c41=""&gt;2024年&lt;/span&gt; &lt;i class="arrow" data-v-390e7c41=""&gt;&lt;/i&gt;&lt;/div&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="rank-select" data-v-0f9e9670="" data-v-390e7c41=""&gt;&lt;div class="rank-select-label clickable" data-v-390e7c41=""&gt;&lt;span data-v-390e7c41=""&gt;2月&lt;/span&gt; &lt;i class="arrow" data-v-390e7c41=""&gt;&lt;/i&gt;&lt;/div&gt; &lt;!-- --&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;ul class="rank-list" data-v-032429ae="" data-v-0f9e9670=""&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/1747899/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/4ac599ecb83f71b0a8469ca0d29db30d_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number first" data-v-032429ae=""&gt;1&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1747899/" target="_blank"&gt;无敌六皇子&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E6%A2%81%E5%B1%B1%E8%80%81%E9%AC%BC_14/" target="_blank"&gt;梁山老鬼&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-56-a-a-a-a-a-click-1/" target="_blank"&gt;历史&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-56-58-a-a-a-a-click-1/" target="_blank"&gt;架空历史&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;连载中&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;147.68万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;云铮穿越成大乾王朝六皇子，不夺嫡，不宫斗，只想安心搞军权当老六！军权在手，天下我有！
文帝：老六，你那几哥哥越来不像话了，借父皇十万兵马收拾他们！
太子：老弟，有话好好说，别带着兵马回来吓你哥啊！
大臣：六殿下，你觉得微臣那小女儿怎么样？
（关键词：穿越开局当老六、大乾六皇子、穿越老六就要当老六）&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/1747899-17119884010686/" target="_blank"&gt;
                        最近更新 第686章  这事儿，肯定还不算完！
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-04-02 00:20:06&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;span class="left" data-v-032429ae=""&gt;&lt;em data-v-032429ae=""&gt;蝉联&lt;/em&gt;&lt;/span&gt; &lt;span class="right" data-v-032429ae=""&gt;榜首&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/1677009/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/7855e0f096b6609815fb081be1591370_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number second" data-v-032429ae=""&gt;2&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1677009/" target="_blank"&gt;皇后请自重，我真不想代替陛下呀！&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E5%A4%9C%E8%A1%8C%E4%B9%A6%E7%94%9F_14/" target="_blank"&gt;夜行书生&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-56-a-a-a-a-a-click-1/" target="_blank"&gt;历史&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-56-58-a-a-a-a-click-1/" target="_blank"&gt;架空历史&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;连载中&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;208.81万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;穿越大夏王朝，赵无疆本来只想老老实实当个小太监，却无意发现堂堂大夏皇帝居然是女儿身！
“大胆奴才，竟然还没净身，朕诛你九族！”
“大胆陛下，你也不想你的秘密被人发现吧？”
就在这时，风华绝代的皇后突然到来，“陛下，本宫来侍寝。”
女皇帝情急之下连忙吹灭灯火，“小赵子，你替朕伺候皇后，以后便是朕的心腹！”&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/1677009-17120351451678/" target="_blank"&gt;
                        最近更新 第1678章  线人
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-04-02 13:19:15&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;em class="rank-num" data-v-032429ae=""&gt;1&lt;/em&gt; &lt;em class="rank-unit" data-v-032429ae=""&gt;名&lt;/em&gt; &lt;i class="iconfont rise" data-v-032429ae=""&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/215169/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/16199735c977aedf0b5cfe18620bf55b_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number third" data-v-032429ae=""&gt;3&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/215169/" target="_blank"&gt;寒门枭士&lt;/a&gt; &lt;span class="s-bonus-tips type-1" data-v-032429ae=""&gt;&lt;em data-v-032429ae=""&gt;获得奖金&lt;/em&gt;&lt;em class="num" data-v-032429ae=""&gt;10000&lt;/em&gt;&lt;em data-v-032429ae=""&gt;元&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E5%8C%97%E5%B7%9D_14/" target="_blank"&gt;北川&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-56-a-a-a-a-a-click-1/" target="_blank"&gt;历史&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-56-58-a-a-a-a-click-1/" target="_blank"&gt;架空历史&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;已完结&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;440.9万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;《王牌对王牌》推荐！
突然穿越到了古代，饭都吃不饱怎么办？什么，男人快被打完了，官府发了个漂亮老婆，明年必须生孩子？什么，外族又来入侵中原？……
没关系，学好数理化，走遍天下都不怕！
草原骑兵势不可挡？倭寇的大船坚不可摧？
笑话！&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/215169-17113852812138/" target="_blank"&gt;
                        最近更新 第2138章  盛世如愿
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-03-26 00:48:15&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;em class="rank-num" data-v-032429ae=""&gt;1&lt;/em&gt; &lt;em class="rank-unit" data-v-032429ae=""&gt;名&lt;/em&gt; &lt;i class="iconfont drop" data-v-032429ae=""&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/1736407/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/459c930afa4b037d7dab59a814e5ff67_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;4&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1736407/" target="_blank"&gt;得分凶猛&lt;/a&gt; &lt;span class="s-bonus-tips type-2" data-v-032429ae=""&gt;&lt;em data-v-032429ae=""&gt;获得奖金&lt;/em&gt;&lt;em class="num" data-v-032429ae=""&gt;8000&lt;/em&gt;&lt;em data-v-032429ae=""&gt;元&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E6%B5%81%E6%B5%AA%E6%B2%99%E9%B8%A5_14/" target="_blank"&gt;流浪沙鸥&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-206-a-a-a-a-a-click-1/" target="_blank"&gt;体育&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-206-235-a-a-a-a-click-1/" target="_blank"&gt;篮球风云&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;连载中&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;70.99万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;2003年，鲨鱼尚未东游，石佛狼王正在巅峰，四大前锋交相辉映，四大分卫，北卡南麦东艾西科，执掌联盟外线。
新生代天选之子勒布朗詹姆斯、NCAA第一人卡梅隆安东尼、马奎特闪电韦德蓄势待发，朝着联盟发起猛攻。
在这个时候，苏丰，一个中国留学生，得到球神外挂的他，于芝加哥开启他的NBA征程。以得分为准绳，制裁全联盟。&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/1736407-17119032040207/" target="_blank"&gt;
                        最近更新 第207章  他是怎么做到的
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-04-01 00:40:06&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;!-- --&gt; &lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/1650862/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/e71e0225f6f105670b113f54f473ac2e_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;5&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1650862/" target="_blank"&gt;网游开局合成顶级神装&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E4%BB%8A%E6%99%9A%E5%90%83%E9%B8%A1_14/" target="_blank"&gt;今晚吃鸡&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-75-a-a-a-a-a-click-1/" target="_blank"&gt;游戏&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-75-232-a-a-a-a-click-1/" target="_blank"&gt;虚拟网游&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;连载中&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;287.12万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;（一本轻松搞笑向网游小说，你想要的，应有尽有哦）
江白只想打金，开局却获得了无限合成系统。
当别人还在辛辛苦苦的为一件垃圾白装奋斗时。
江白却已经合成了传说神器！
当别人还在组队刷怪时。
江白却在单刷顶级BOSS！
江白只想低调做人，闷声发财。
却不想昔日高傲的女神对自己各种跪舔……
（关键词：创世之心）&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/1650862-17119969811297/" target="_blank"&gt;
                        最近更新 第1297章  双重提升
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-04-02 02:43:10&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;!-- --&gt; &lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/1693832/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/4f229a43fc9790e9c4e725921c0be08a_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;6&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1693832/" target="_blank"&gt;超神玩家&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E5%A4%B1%E8%90%BD%E5%8F%B6_14/" target="_blank"&gt;失落叶&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-75-a-a-a-a-a-click-1/" target="_blank"&gt;游戏&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-75-232-a-a-a-a-click-1/" target="_blank"&gt;虚拟网游&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;连载中&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;298.48万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;游戏天下谁为峰，一见霁霖皆成空。
谁言国服多豪杰，转眼尽付笑谈中。
三流替补，饮水机管理员。
曾经的天才少年再战游戏江湖。
诸位一流高手，对不住了。
这山巅太小，只容得下我丁霁霖一人而已啊！&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/1693832-17120304850925/" target="_blank"&gt;
                        最近更新 第925章  山海界中的乱杀！
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-04-02 12:01:39&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;em class="rank-num" data-v-032429ae=""&gt;1&lt;/em&gt; &lt;em class="rank-unit" data-v-032429ae=""&gt;名&lt;/em&gt; &lt;i class="iconfont rise" data-v-032429ae=""&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/1717654/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/7076e75ab19c7c40fc2c4103903e6d15_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;7&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1717654/" target="_blank"&gt;开局合欢宗，被师姐拿捏命脉&lt;/a&gt; &lt;span class="s-bonus-tips type-3" data-v-032429ae=""&gt;&lt;em data-v-032429ae=""&gt;获得奖金&lt;/em&gt;&lt;em class="num" data-v-032429ae=""&gt;5000&lt;/em&gt;&lt;em data-v-032429ae=""&gt;元&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E5%92%B8%E9%B1%BC%E8%80%81%E7%99%BD_14/" target="_blank"&gt;咸鱼老白&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-a-a-a-a-a-click-1/" target="_blank"&gt;玄幻奇幻&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-37-a-a-a-a-click-1/" target="_blank"&gt;东方玄幻&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;连载中&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;115.97万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;林师兄，柳师姐又双叒让你过去与她双修了。
林风眠欲哭无泪，就不能让我放一天假吗？
自从来了这合欢宗，他是天天上山松土，没日没夜地干。
修为没有一日千里也就算了，身体还一日不如一日。
这合欢宗真的不能再呆了，不然早晚死在这些敲骨吸髓的妖女手上。&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/1717654-17120268650560/" target="_blank"&gt;
                        最近更新 第560章  难不成自己喜欢上他了？
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-04-02 11:01:10&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;em class="rank-num" data-v-032429ae=""&gt;2&lt;/em&gt; &lt;em class="rank-unit" data-v-032429ae=""&gt;名&lt;/em&gt; &lt;i class="iconfont rise" data-v-032429ae=""&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/1648167/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/5c4bf1f68e3afa7220289dc8a3c3b6d8_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;8&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1648167/" target="_blank"&gt;开局截胡五虎上将&lt;/a&gt; &lt;span class="s-bonus-tips" data-v-032429ae=""&gt;&lt;em data-v-032429ae=""&gt;获得奖金&lt;/em&gt;&lt;em class="num" data-v-032429ae=""&gt;3000&lt;/em&gt;&lt;em data-v-032429ae=""&gt;元&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E5%AD%94%E6%98%8E%E5%BE%88%E6%84%81_14/" target="_blank"&gt;孔明很愁&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-56-a-a-a-a-a-click-1/" target="_blank"&gt;历史&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-56-57-a-a-a-a-click-1/" target="_blank"&gt;穿越历史&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;已完结&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;484.57万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;刘备有五虎将？
我直接截胡！
刘备有卧龙凤雏？
我的智囊团让卧龙凤雏直冒汗！
什么！
没有系统？
这，这，这。。。&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/1648167-17087109612450/" target="_blank"&gt;
                        最近更新 第2450章  完本感言
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-02-24 01:56:18&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;em class="rank-num" data-v-032429ae=""&gt;17&lt;/em&gt; &lt;em class="rank-unit" data-v-032429ae=""&gt;名&lt;/em&gt; &lt;i class="iconfont rise" data-v-032429ae=""&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/1736405/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/48d72ae3d0a1c4938b4ba5cdc55bd04e_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;9&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1736405/" target="_blank"&gt;都穿越了还不造反啊！&lt;/a&gt; &lt;span class="s-bonus-tips" data-v-032429ae=""&gt;&lt;em data-v-032429ae=""&gt;获得奖金&lt;/em&gt;&lt;em class="num" data-v-032429ae=""&gt;3000&lt;/em&gt;&lt;em data-v-032429ae=""&gt;元&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E9%85%92%E7%99%BD_14/" target="_blank"&gt;酒白&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-56-a-a-a-a-a-click-1/" target="_blank"&gt;历史&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-56-58-a-a-a-a-click-1/" target="_blank"&gt;架空历史&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;连载中&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;116.32万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;如果有一个穿越的机会，你想要吗？前世省吃俭用，卷到肝碎，最后媳妇跑了。
回到古代，就从嫂子开始干吧。
那一夜，我弄死了阴狠的大哥，欲撬开嫂子的房门。
从门缝处看到榻上熟睡嫂子的容颜，那薄被欲掩欲盖下的雪白……。
盛世牛马，乱世炮灰，这一世要活的滋润，终究还是要搞军权！&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/1736405-17119668010430/" target="_blank"&gt;
                        最近更新 第430章  进一步搜刮，敲打高平和平南两县
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-04-01 18:20:04&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;em class="rank-num" data-v-032429ae=""&gt;1&lt;/em&gt; &lt;em class="rank-unit" data-v-032429ae=""&gt;名&lt;/em&gt; &lt;i class="iconfont drop" data-v-032429ae=""&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/219040/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/83064984bea8903f457325709a7fc042_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;10&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/219040/" target="_blank"&gt;极道剑尊&lt;/a&gt; &lt;span class="s-bonus-tips" data-v-032429ae=""&gt;&lt;em data-v-032429ae=""&gt;获得奖金&lt;/em&gt;&lt;em class="num" data-v-032429ae=""&gt;3000&lt;/em&gt;&lt;em data-v-032429ae=""&gt;元&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E4%BA%BA%E9%97%B4%E5%8F%88%E6%B1%A1%E7%A7%BD%E4%BA%86_14/" target="_blank"&gt;人间又污秽了&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-a-a-a-a-a-click-1/" target="_blank"&gt;玄幻奇幻&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-37-a-a-a-a-click-1/" target="_blank"&gt;东方玄幻&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;连载中&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;554.41万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;踏天骄，镇万道！
问鼎极道，唯我剑尊！
我这一剑平平无奇，但你们绝对会死！&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/219040-17120371822427/" target="_blank"&gt;
                        最近更新 第2427章  阿剑赠剑！
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-04-02 13:53:18&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;!-- --&gt; &lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/219542/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/9c7a67e914f771fafbae1c743c75bce3_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;11&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/219542/" target="_blank"&gt;全球灾变之末日游戏&lt;/a&gt; &lt;span class="s-bonus-tips" data-v-032429ae=""&gt;&lt;em data-v-032429ae=""&gt;获得奖金&lt;/em&gt;&lt;em class="num" data-v-032429ae=""&gt;2000&lt;/em&gt;&lt;em data-v-032429ae=""&gt;元&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E6%88%91%E7%88%B1%E5%90%83%E7%8C%AB%E7%89%87_14/" target="_blank"&gt;我爱吃猫片&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-64-a-a-a-a-a-click-1/" target="_blank"&gt;科幻&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-64-66-a-a-a-a-click-1/" target="_blank"&gt;末世危机&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;连载中&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;460.09万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;【2024年最火末日神作】
如果仁慈和善良不能拯救世人。
那么这一次，我选择杀戮。
-------------------
我于死亡中重生，亦如烈日下的罪恶。&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/219542-17119665692024/" target="_blank"&gt;
                        最近更新 第2024章  普罗米修斯
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-04-01 18:16:23&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;em class="rank-num" data-v-032429ae=""&gt;1&lt;/em&gt; &lt;em class="rank-unit" data-v-032429ae=""&gt;名&lt;/em&gt; &lt;i class="iconfont rise" data-v-032429ae=""&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/1736230/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/3c80b976a63a60a4d2ca1b2813dc5b5c_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;12&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1736230/" target="_blank"&gt;国家送媳妇？来一打，都收了&lt;/a&gt; &lt;span class="s-bonus-tips" data-v-032429ae=""&gt;&lt;em data-v-032429ae=""&gt;获得奖金&lt;/em&gt;&lt;em class="num" data-v-032429ae=""&gt;2000&lt;/em&gt;&lt;em data-v-032429ae=""&gt;元&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E6%B2%A7%E6%B5%B7%E5%B7%AB%E5%B1%B1_14/" target="_blank"&gt;沧海巫山&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-56-a-a-a-a-a-click-1/" target="_blank"&gt;历史&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-56-58-a-a-a-a-click-1/" target="_blank"&gt;架空历史&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;连载中&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;94.3万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;相亲被辱，穿越到男丁极少的战乱古代，开局国家分配媳妇，屁股大腰圆的是香饽饽，娇小玲珑的美人成了不能生养的滞销货？林小凡不客气的领了五个极品美女回家造娃。被嘲讽家里穷养不活媳妇？林小凡自制伤药日进斗金。就在众人等着林小凡生不出儿子挨板子的时候，五个媳妇生了，一胎十个，震惊朝野。就连前世瞧不起他的相亲女，每晚都拉着他的手求造娃！女人你闪开，乱世枭雄，小爷我可是要称霸天下的！&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/1736230-17119963810449/" target="_blank"&gt;
                        最近更新 第449章  剑锋袭杀中军
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-04-02 02:33:04&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;em class="rank-num" data-v-032429ae=""&gt;6&lt;/em&gt; &lt;em class="rank-unit" data-v-032429ae=""&gt;名&lt;/em&gt; &lt;i class="iconfont drop" data-v-032429ae=""&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/208895/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/f5ae3b898fe981bd091de0b266fb0786_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;13&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/208895/" target="_blank"&gt;神级进化动物杀手团&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E4%B9%9D%E6%8A%8A%E7%81%AB_14/" target="_blank"&gt;九把火&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-a-a-a-a-a-click-1/" target="_blank"&gt;玄幻奇幻&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-37-a-a-a-a-click-1/" target="_blank"&gt;东方玄幻&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;已完结&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;172.25万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;林昊穿越到万族林立的玄幻世界，入赘赵府的姑爷。
原以为就要这样憋屈的度过余生，却绑定了神级进化动物系统。
“叮，您的苍蝇杀手已强化双爪，携带金属武器，锋利如刃！”
“叮，您的宠物蜘蛛进化完毕，获得特殊技能，致命毒素！”
……
从此以后，世界上多了一支神秘的杀手组织，以动物为手下，杀人于无形之间。
“很抱歉，我的士兵其实都是饲养员，动物才是真正的军团！”
望着那恐慌的敌军，林昊淡淡的说道。&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/208895-16498371000772/" target="_blank"&gt;
                        最近更新 第772章  一声兄弟,一生兄弟
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2022-04-13 16:05:06&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;em class="rank-num" data-v-032429ae=""&gt;1&lt;/em&gt; &lt;em class="rank-unit" data-v-032429ae=""&gt;名&lt;/em&gt; &lt;i class="iconfont rise" data-v-032429ae=""&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/210771/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/625682a289d46_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;14&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/210771/" target="_blank"&gt;万古龙帝&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E6%8B%93%E8%B7%8B%E6%B5%81%E4%BA%91_14/" target="_blank"&gt;拓跋流云&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-a-a-a-a-a-click-1/" target="_blank"&gt;玄幻奇幻&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-37-a-a-a-a-click-1/" target="_blank"&gt;东方玄幻&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;已完结&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;864.71万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;（新书《斩天刀》已发布，七猫搜索可看）
少年林尘遭陷害、幻兽被杀，又被曾经拒绝过的女人狠狠嘲讽。
在尊严被践踏之时，体内封印破碎，九头混沌巨兽出现，诸天神佛为之颤抖！
至此，大帝在我面前，也不过蝼蚁，我为龙帝，万界无敌！&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/210771-16855502412221/" target="_blank"&gt;
                        最近更新 第2221章  归来！（全书完）
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2023-06-01 00:24:17&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;em class="rank-num" data-v-032429ae=""&gt;1&lt;/em&gt; &lt;em class="rank-unit" data-v-032429ae=""&gt;名&lt;/em&gt; &lt;i class="iconfont drop" data-v-032429ae=""&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/1729484/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/0839cdd48e3aaa55561d13bbb3e3b407_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;15&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1729484/" target="_blank"&gt;凡尘飞仙&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E9%BD%90%E7%94%B2_14/" target="_blank"&gt;齐甲&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-a-a-a-a-a-click-1/" target="_blank"&gt;玄幻奇幻&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-37-a-a-a-a-click-1/" target="_blank"&gt;东方玄幻&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;连载中&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;166.76万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;一个普通的农村少年，偶然得到聚宝盆，凭借其复制能力，得到海量资源，走上修行一途……仙路悠悠，普通少年的飞仙之路……&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/1729484-17120374810730/" target="_blank"&gt;
                        最近更新 第730章  苗霞渡劫
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-04-02 13:58:07&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;em class="rank-num" data-v-032429ae=""&gt;4&lt;/em&gt; &lt;em class="rank-unit" data-v-032429ae=""&gt;名&lt;/em&gt; &lt;i class="iconfont drop" data-v-032429ae=""&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/221137/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/bde65f1f1bf5d837af2a4b97c2e208ad_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;16&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/221137/" target="_blank"&gt;网游之全服公敌&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E9%BB%91%E7%99%BD%E7%9B%B8%E9%97%B4_14/" target="_blank"&gt;黑白相间&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-75-a-a-a-a-a-click-1/" target="_blank"&gt;游戏&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-75-232-a-a-a-a-click-1/" target="_blank"&gt;虚拟网游&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;已完结&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;174.98万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;这是一个难度极其离谱的游戏，如果你没足够的能耐，村都别想出去！
————
新书《刚出娘胎，定亲转世女帝》已发布，欢迎感兴趣的读者朋友前往阅读~~&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/221137-16751583600763/" target="_blank"&gt;
                        最近更新 第763章  江天帝的故事（大结局）
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2023-01-31 17:46:06&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;em class="rank-num" data-v-032429ae=""&gt;1&lt;/em&gt; &lt;em class="rank-unit" data-v-032429ae=""&gt;名&lt;/em&gt; &lt;i class="iconfont drop" data-v-032429ae=""&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/215086/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/ac5df2182304c8a30c805873066252d7_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;17&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/215086/" target="_blank"&gt;武逆九千界&lt;/a&gt; &lt;span class="s-bonus-tips" data-v-032429ae=""&gt;&lt;em data-v-032429ae=""&gt;获得奖金&lt;/em&gt;&lt;em class="num" data-v-032429ae=""&gt;2000&lt;/em&gt;&lt;em data-v-032429ae=""&gt;元&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E8%99%9A%E5%B0%98_14/" target="_blank"&gt;虚尘&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-a-a-a-a-a-click-1/" target="_blank"&gt;玄幻奇幻&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-37-a-a-a-a-click-1/" target="_blank"&gt;东方玄幻&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;连载中&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;938.87万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;镇龙塔降世，少年炼化九大龙帝，修万古不败龙体，斩诸天神魔帝尊，神挡杀神，佛挡杀佛，无敌九千界！&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/215086-17119800024381/" target="_blank"&gt;
                        最近更新 第4381章  主神？滚，我才是猎人！
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-04-01 22:00:33&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;em class="rank-num" data-v-032429ae=""&gt;5&lt;/em&gt; &lt;em class="rank-unit" data-v-032429ae=""&gt;名&lt;/em&gt; &lt;i class="iconfont rise" data-v-032429ae=""&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/213092/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/620cbbffc7d8f_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;18&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/213092/" target="_blank"&gt;吞噬古帝&lt;/a&gt; &lt;span class="s-bonus-tips" data-v-032429ae=""&gt;&lt;em data-v-032429ae=""&gt;获得奖金&lt;/em&gt;&lt;em class="num" data-v-032429ae=""&gt;2000&lt;/em&gt;&lt;em data-v-032429ae=""&gt;元&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E9%BB%91%E7%99%BD%E4%BB%99%E9%B9%A4_14/" target="_blank"&gt;黑白仙鹤&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-a-a-a-a-a-click-1/" target="_blank"&gt;玄幻奇幻&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-37-a-a-a-a-click-1/" target="_blank"&gt;东方玄幻&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;连载中&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;859.4万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;少年苏辰被人夺帝骨，废血轮，惨遭家族遗弃。
觉醒混沌体，开启混沌吞噬塔，重聚血轮逆天崛起，誓要踏足武道巅峰！
吞噬无尽寰宇，横扫万千星辰，一剑斩破九天，霸绝万古苍穹！
吾为古帝，万族臣服！&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/213092-17120269214106/" target="_blank"&gt;
                        最近更新 第4106章  我自己能搞定
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-04-02 11:02:30&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;!-- --&gt; &lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/151762/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/a3c6/58f21519ab8f095e142e2c0812476c04_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;19&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/151762/" target="_blank"&gt;最强末世进化&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E8%94%A1%E5%9B%9B%E7%88%B7_14/" target="_blank"&gt;蔡四爷&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-64-a-a-a-a-a-click-1/" target="_blank"&gt;科幻&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-64-66-a-a-a-a-click-1/" target="_blank"&gt;末世危机&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;连载中&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;891.58万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;财宝、秘宝！
幻境、仙境！
未知这个词所绽放的魔力，吸引了众多强者趋之若鹜！
挣扎在末世中的姜毅第一次知道力量的重要性，一场大雨弄的全球疯狂进化，能力者与凶兽、丧尸永远不会和平共处，想要生存，就只有抢压与……杀戮！！
末世突临，丧尸遍地！没有觉醒过异能的姜毅沦为炮灰，被人遗弃在了宿舍内。鼓起勇气千辛万苦终于击杀了一头丧尸，居然激发出了……&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/151762-17119030823039/" target="_blank"&gt;
                        最近更新 第3039章  恶名远播……恶面鬼影
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-04-01 00:38:23&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;em class="rank-num" data-v-032429ae=""&gt;7&lt;/em&gt; &lt;em class="rank-unit" data-v-032429ae=""&gt;名&lt;/em&gt; &lt;i class="iconfont rise" data-v-032429ae=""&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="rank-list-item" data-v-032429ae=""&gt;&lt;div class="pic-txt-info clearfix" data-v-032429ae=""&gt;&lt;div class="pic" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/1655407/" target="_blank"&gt;&lt;img data-v-032429ae="" height="132px" src="https://cdn.wtzw.com/bookimg/public/images/cover/62f5bebc1ab75_360x480.jpg" width="100px"/&gt; &lt;span class="rank-number normal" data-v-032429ae=""&gt;20&lt;/span&gt;&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;div class="txt" data-v-032429ae=""&gt;&lt;div class="txt-row" data-v-032429ae=""&gt;&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1655407/" target="_blank"&gt;鸿蒙霸体诀&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt; &lt;span class="s-book-info clearfix" data-v-032429ae=""&gt;&lt;a data-v-032429ae="" href="https://www.qimao.com/zuozhe/%E9%B1%BC%E5%88%9D%E8%A7%81_14/" target="_blank"&gt;鱼初见&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-a-a-a-a-a-click-1/" target="_blank"&gt;玄幻奇幻&lt;/a&gt; &lt;em class="point" data-v-032429ae=""&gt;&lt;/em&gt; &lt;a data-v-032429ae="" href="https://www.qimao.com/shuku/a-202-37-a-a-a-a-click-1/" target="_blank"&gt;东方玄幻&lt;/a&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;连载中&lt;/em&gt; &lt;em class="line" data-v-032429ae=""&gt;&lt;/em&gt; &lt;em data-v-032429ae=""&gt;324.14万字&lt;/em&gt;&lt;/span&gt; &lt;span class="s-book-intro" data-v-032429ae=""&gt;十万年前，九位风姿卓绝，独断万古的女帝，妖后，被封印于鸿蒙金塔之中。
十万年后，少年萧诺，被家族迫害，沦为弃子。阴差阳错之下，开启鸿蒙金塔，修炼霸体神诀，成就无上神体。
自此诸天仙魔，皆将烟消云散。&lt;/span&gt; &lt;span class="s-book-update" data-v-032429ae=""&gt;&lt;a class="mr20" data-v-032429ae="" href="/shuku/1655407-17120194201154/" target="_blank"&gt;
                        最近更新 第1154章  公子，干他
                    &lt;/a&gt; &lt;em data-v-032429ae=""&gt;2024-04-02 08:57:09&lt;/em&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="other-info" data-v-032429ae=""&gt;&lt;div class="top" data-v-032429ae=""&gt;&lt;span class="rank-tag" data-v-032429ae=""&gt;&lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="middle" data-v-032429ae=""&gt;&lt;span class="rank-change-num" data-v-032429ae=""&gt;&lt;!-- --&gt; &lt;!-- --&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="btns-list" data-v-032429ae=""&gt;&lt;a class="qm-btn btn default small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;加入书架&lt;/a&gt; &lt;a class="qm-btn btn important small radius" data-v-032429ae="" data-v-41e2fa47="" href="javascript:void(0);" target=""&gt;立即阅读&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;div class="qm-page rank-page" data-v-0f9e9670="" data-v-29399e2c=""&gt;&lt;div class="qm-page-wrap clearfix" data-v-29399e2c=""&gt;&lt;div class="qm-page-btn" data-v-29399e2c=""&gt;&lt;span class="pre-btn page-btn txt disabled" data-v-29399e2c=""&gt;上一页&lt;/span&gt;&lt;/div&gt; &lt;ul class="qm-page-number-list clearfix" data-v-29399e2c=""&gt;&lt;li class="page-number-item" data-v-29399e2c=""&gt;&lt;div class="number-item" data-v-29399e2c=""&gt;&lt;span class="page-btn num active" data-v-29399e2c=""&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="page-number-item" data-v-29399e2c=""&gt;&lt;div class="number-item" data-v-29399e2c=""&gt;&lt;span class="page-btn num" data-v-29399e2c=""&gt;2&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="page-number-item" data-v-29399e2c=""&gt;&lt;div class="number-item" data-v-29399e2c=""&gt;&lt;span class="page-btn num" data-v-29399e2c=""&gt;3&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="page-number-item" data-v-29399e2c=""&gt;&lt;div class="number-item" data-v-29399e2c=""&gt;&lt;span class="page-btn num" data-v-29399e2c=""&gt;4&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="page-number-item" data-v-29399e2c=""&gt;&lt;div class="number-item" data-v-29399e2c=""&gt;&lt;span class="page-btn num" data-v-29399e2c=""&gt;5&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;div class="qm-page-btn" data-v-29399e2c=""&gt;&lt;span class="next-btn page-btn txt" data-v-29399e2c=""&gt;下一页&lt;/span&gt;&lt;/div&gt; &lt;div class="qm-page-jump clearfix" data-v-29399e2c=""&gt;&lt;div class="jump-input" data-v-29399e2c=""&gt;&lt;input data-v-29399e2c="" placeholder="请输入页码" type="text" value=""/&gt;&lt;/div&gt; &lt;span class="page-btn txt" data-v-29399e2c=""&gt;跳转&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="qm-footer" data-v-282b064a="" data-v-29762df3=""&gt;&lt;div class="qm-footer-con border" data-v-29762df3=""&gt;&lt;ul class="small-link qm-footer-con-row" data-v-29762df3=""&gt;&lt;li class="mr16" data-v-29762df3=""&gt;友情链接：&lt;/li&gt; &lt;/ul&gt; &lt;ul class="p-link qm-footer-con-row" data-v-29762df3=""&gt;&lt;li data-v-29762df3=""&gt;&lt;a data-v-29762df3="" href="/about.html" target="_blank"&gt;关于七猫&lt;/a&gt; &lt;i data-v-29762df3=""&gt;|&lt;/i&gt;&lt;/li&gt;&lt;li data-v-29762df3=""&gt;&lt;a data-v-29762df3="" href="/contact.html" target="_blank"&gt;联系我们&lt;/a&gt; &lt;i data-v-29762df3=""&gt;|&lt;/i&gt;&lt;/li&gt;&lt;li data-v-29762df3=""&gt;&lt;a data-v-29762df3="" href="javascript:void(0)"&gt;我要举报&lt;/a&gt; &lt;i data-v-29762df3=""&gt;|&lt;/i&gt;&lt;/li&gt;&lt;li data-v-29762df3=""&gt;&lt;a data-v-29762df3="" href="https://zuozhe.qimao.com/front/report-studio" target="_blank"&gt;举报工作室&lt;/a&gt; &lt;i data-v-29762df3=""&gt;|&lt;/i&gt;&lt;/li&gt;&lt;li data-v-29762df3=""&gt;&lt;a data-v-29762df3="" href="/privacy_agreed.html" target="_blank"&gt;隐私协议&lt;/a&gt; &lt;i data-v-29762df3=""&gt;|&lt;/i&gt;&lt;/li&gt;&lt;li data-v-29762df3=""&gt;&lt;a data-v-29762df3="" href="/copyright.html" target="_blank"&gt;版权声明&lt;/a&gt; &lt;i data-v-29762df3=""&gt;|&lt;/i&gt;&lt;/li&gt;&lt;li data-v-29762df3=""&gt;&lt;a data-v-29762df3="" href="https://zuozhe.qimao.com" target="_blank"&gt;我要当作家&lt;/a&gt; &lt;i data-v-29762df3=""&gt;|&lt;/i&gt;&lt;/li&gt;&lt;li data-v-29762df3=""&gt;&lt;a data-v-29762df3="" href="/user_agreed.html" target="_blank"&gt;用户协议&lt;/a&gt; &lt;!-- --&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p class="p-txt qm-footer-con-row" data-v-29762df3=""&gt;&lt;span class="txt" data-v-29762df3=""&gt;客服电话：400-855-9290&lt;/span&gt; &lt;span class="txt" data-v-29762df3=""&gt;工作时间：周一至周五9:00-18:00&lt;/span&gt;&lt;/p&gt; &lt;p class="p-copyright qm-footer-con-row" data-v-29762df3=""&gt;
            上海七猫文化传媒有限公司   © 2017 www.qimao.com All rights reserved   
            &lt;a data-v-29762df3="" href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank"&gt;
                沪ICP备17012825号-6
            &lt;/a&gt;
             沪公网安备 31011502010023号
            &lt;a data-v-29762df3="" href="https://wap.scjgj.sh.gov.cn/businessCheck/verifKey.do?showType=extShow&amp;amp;serial=9031000020190722152105000004867583-SAIC_SHOW_310000-2020030415053789015&amp;amp;signData=MEQCIEkBkB9iRQU6cFZkvRZxUFL3bfnb79F47g/DlN1cyQz2AiAMvdmNY5e++2nkv9YcqfTuyni81uITxhyu08vw3HgQNA=="&gt;&lt;img alt="" data-v-29762df3="" height="20" width="20"/&gt;&lt;/a&gt; &lt;br data-v-29762df3=""/&gt;
            出版物经营许可证 新出发沪批字第Y7129号  沪网文 [2020] 1747-135号  沪ICP证：沪B2-20190085
        &lt;/p&gt; &lt;p class="p-company qm-footer-con-row" data-v-29762df3=""&gt;&lt;a data-v-29762df3="" href="javascript:void(0)"&gt;&lt;img alt="上海网警网络举报平台" data-v-29762df3="" height="40" width="110"/&gt;&lt;/a&gt; &lt;a data-v-29762df3="" href="https://www.12377.cn/"&gt;&lt;img alt="中央网信办不良信息举报中心" data-v-29762df3="" height="40" width="110"/&gt;&lt;/a&gt; &lt;a data-v-29762df3="" href="javascript:void(0)"&gt;&lt;img alt="网络举报APP下载" data-v-29762df3="" height="40" width="110"/&gt;&lt;/a&gt; &lt;a data-v-29762df3="" href="http://www.shjbzx.cn/"&gt;&lt;img alt="上海市互联网违法和不良信息举报中心" data-v-29762df3="" height="40" width="110"/&gt;&lt;/a&gt; &lt;a data-v-29762df3="" href="javascript:void(0)"&gt;&lt;img alt="企业注册登记信息" data-v-29762df3="" height="40" width="110"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt; &lt;div class="qm-pop" data-v-29762df3="" data-v-44d0399c="" style="display:none;"&gt;&lt;div class="qm-pop-mask" data-v-44d0399c=""&gt;&lt;/div&gt; &lt;div class="qm-pop-mod w-550" data-v-44d0399c=""&gt;&lt;i class="iconfont qm-pop-close-btn" data-v-44d0399c=""&gt;&lt;/i&gt; &lt;div class="qm-pop-mod-th" data-v-44d0399c=""&gt;&lt;span class="s-tit" data-v-44d0399c=""&gt;举报&lt;/span&gt;&lt;/div&gt; &lt;div class="qm-pop-mod-tb" data-v-44d0399c=""&gt;&lt;div&gt;&lt;ul class="qm-form" labelwidth="90px"&gt;&lt;li class="qm-form-item" data-v-392ccf9f=""&gt;&lt;span class="label" data-v-392ccf9f="" style="width:90px;"&gt;&lt;em class="em-must" data-v-392ccf9f=""&gt;*&lt;/em&gt;
        举报类型
        &lt;/span&gt; &lt;div class="item" data-v-392ccf9f="" style="margin-left:90px;"&gt;&lt;div class="qm-select middle" data-v-1fc8509c=""&gt;&lt;span class="qm-select-label" data-v-1fc8509c=""&gt;&lt;em class="placeholder" data-v-1fc8509c=""&gt;请选择&lt;/em&gt;&lt;/span&gt; &lt;ul class="qm-select-list" data-v-1fc8509c="" style="display:none;"&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt; &lt;li class="qm-form-item" data-v-392ccf9f=""&gt;&lt;span class="label" data-v-392ccf9f="" style="width:90px;"&gt;&lt;em class="em-must" data-v-392ccf9f=""&gt;*&lt;/em&gt;
        章节链接
        &lt;/span&gt; &lt;div class="item" data-v-392ccf9f="" style="margin-left:90px;"&gt;&lt;div class="qm-input middle" data-v-80115cbc=""&gt;&lt;div class="qm-input-con" data-v-80115cbc=""&gt;&lt;textarea data-v-80115cbc="" resize="none"&gt;&lt;/textarea&gt;&lt;/div&gt; &lt;!-- --&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt; &lt;li class="qm-form-item" data-v-392ccf9f=""&gt;&lt;span class="label" data-v-392ccf9f="" style="width:90px;"&gt;&lt;em class="em-must" data-v-392ccf9f=""&gt;*&lt;/em&gt;
        举报内容
        &lt;/span&gt; &lt;div class="item" data-v-392ccf9f="" style="margin-left:90px;"&gt;&lt;div class="qm-input middle" data-v-80115cbc=""&gt;&lt;div class="qm-input-con" data-v-80115cbc=""&gt;&lt;textarea data-v-80115cbc="" resize="none"&gt;&lt;/textarea&gt;&lt;/div&gt; &lt;!-- --&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt; &lt;li class="qm-form-item" data-v-392ccf9f=""&gt;&lt;span class="label" data-v-392ccf9f="" style="width:90px;"&gt;&lt;!-- --&gt;
        联系方式
        &lt;/span&gt; &lt;div class="item" data-v-392ccf9f="" style="margin-left:90px;"&gt;&lt;div class="qm-input middle" data-v-80115cbc=""&gt;&lt;div class="qm-input-con" data-v-80115cbc=""&gt;&lt;input data-v-80115cbc="" maxlength="" minlength="minlength" type="text" value=""/&gt; &lt;!-- --&gt; &lt;span class="qm-input-placeholder" data-v-80115cbc=""&gt;请输入&lt;/span&gt;&lt;/div&gt; &lt;!-- --&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt; &lt;li class="qm-form-item" data-v-392ccf9f=""&gt;&lt;span class="label" data-v-392ccf9f="" style="width:90px;"&gt;&lt;!-- --&gt;
        举报电话
        &lt;/span&gt; &lt;div class="item" data-v-392ccf9f="" style="margin-left:90px;"&gt;&lt;span class="s-tit" data-v-392ccf9f=""&gt;400-855-9290（周一到周五 9:00-18:00）&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="qm-pop-mod-tf" data-v-44d0399c=""&gt;&lt;a class="qm-btn inline-block important large radius" data-v-41e2fa47="" data-v-44d0399c="" href="javascript:void(0);" target=""&gt;提交&lt;/a&gt; &lt;!-- --&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;ul class="qm-fixed-right common-fixed-right bottom type-2" data-v-054aa16c="" data-v-282b064a="" data-v-754474f8=""&gt;&lt;li class="qm-fixed-right-item hover download-pop-zjzs" data-v-754474f8=""&gt;&lt;div class="qm-fixed-right-extend" data-v-754474f8="" style="display:;"&gt;&lt;div class="qm-fixed-right-extend-con download-pop-zjzs" data-v-754474f8=""&gt;&lt;!-- --&gt; &lt;div class="qm-app-download-code clearfix" data-v-054aa16c="" data-v-f6536320=""&gt; &lt;div class="pop right" data-v-f6536320=""&gt;&lt;img alt="七猫免费小说作家助手app" data-v-054aa16c="" data-v-f6536320="" height="210" src="https://cdn.qimao.com/bookimg/zww/frontendstatic/20200313/images/common/new-app_zhushou_pic.png" width="160"/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;a class="qm-fixed-right-link" data-v-754474f8="" href="javascript:void(0)"&gt;&lt;!-- --&gt; &lt;span class="s-tit" data-v-754474f8=""&gt;作家&lt;br/&gt;助手&lt;/span&gt; &lt;i class="i-arrow" data-v-754474f8=""&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="qm-fixed-right-item" data-v-754474f8=""&gt;&lt;!-- --&gt; &lt;a class="qm-fixed-right-link" data-v-754474f8="" href="https://xiaoshuo.wtzw.com/" target="_blank"&gt;&lt;!-- --&gt; &lt;span class="s-tit" data-v-754474f8=""&gt;免费&lt;br/&gt;小说&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="qm-fixed-right-item" data-v-754474f8=""&gt;&lt;!-- --&gt; &lt;a class="qm-fixed-right-link" data-v-754474f8="" href="https://www.qimao.com/2024fuli.html?type=editor" target="_blank"&gt;&lt;!-- --&gt; &lt;span class="s-tit" data-v-754474f8=""&gt;联系&lt;br/&gt;编辑&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="qm-fixed-right-item hover wechat-pop" data-v-754474f8=""&gt;&lt;div class="qm-fixed-right-extend" data-v-754474f8="" style="display:;"&gt;&lt;div class="qm-fixed-right-extend-con wechat-pop" data-v-754474f8=""&gt;&lt;!-- --&gt; &lt;div class="wechat-pop" data-v-054aa16c="" data-v-754474f8=""&gt;&lt;div class="qrcode-tit" data-v-054aa16c="" data-v-754474f8=""&gt;七猫中文网公众号&lt;/div&gt; &lt;img alt="" class="qrcode-img" data-v-054aa16c="" data-v-754474f8=""/&gt; &lt;div class="qrcode-txt" data-v-054aa16c="" data-v-754474f8=""&gt;微信扫一扫关注&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;a class="qm-fixed-right-link" data-v-754474f8="" href="javascript:void(0)"&gt;&lt;i class="iconfont" data-v-754474f8=""&gt;&lt;/i&gt; &lt;span class="s-tit" data-v-754474f8=""&gt;公众号&lt;/span&gt; &lt;i class="i-arrow" data-v-754474f8=""&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;div class="qm-pop login-success-pop" data-v-0d7eba43="" data-v-282b064a="" data-v-44d0399c="" style="display:none;"&gt;&lt;div class="qm-pop-mask" data-v-44d0399c=""&gt;&lt;/div&gt; &lt;div class="qm-pop-mod w-400" data-v-44d0399c=""&gt;&lt;i class="iconfont qm-pop-close-btn" data-v-44d0399c=""&gt;&lt;/i&gt; &lt;div class="qm-pop-mod-th" data-v-44d0399c=""&gt;&lt;span class="s-tit" data-v-44d0399c=""&gt;新人注册&lt;/span&gt;&lt;/div&gt; &lt;div class="qm-pop-mod-tb" data-v-44d0399c=""&gt;&lt;div class="txt" data-v-0d7eba43=""&gt;&lt;span class="s-des" data-v-0d7eba43=""&gt;现可免费阅读全站小说，扫描下方二维码，下载七猫免费小说APP，更多新人福利等着你！&lt;/span&gt; &lt;div class="qr-code" data-v-0d7eba43=""&gt;&lt;img alt="七猫免费小说app" data-v-0d7eba43="" height="140" width="140"/&gt; &lt;em data-v-0d7eba43=""&gt;下载七猫免费小说APP&lt;/em&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;!-- --&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;script&gt;window.__NUXT__=(function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,_,$,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am){return {layout:"default-main",data:[{channelType:"boy",rankType:m,dateType:a}],fetch:{"data-v-0f9e9670:0":{listData:[{book_id:"1747899",title:"无敌六皇子",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F1747899\u002F",is_sign:c,author:"梁山老鬼",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E6%A2%81%E5%B1%B1%E8%80%81%E9%AC%BC_14\u002F",category1_name:n,category2_name:s,first_category_url:o,second_category_url:t,is_over:b,words_num:"147.68万字",intro:"云铮穿越成大乾王朝六皇子，不夺嫡，不宫斗，只想安心搞军权当老六！军权在手，天下我有！\n文帝：老六，你那几哥哥越来不像话了，借父皇十万兵马收拾他们！\n太子：老弟，有话好好说，别带着兵马回来吓你哥啊！\n大臣：六殿下，你觉得微臣那小女儿怎么样？\n（关键词：穿越开局当老六、大乾六皇子、穿越老六就要当老六）",latest_chapter_id:"17119884010686",latest_chapter_title:"第686章  这事儿，肯定还不算完！",update_time:"2024-04-02 00:20:06",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002F4ac599ecb83f71b0a8469ca0d29db30d_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:c,index_change:b,bonus:a},{book_id:"1677009",title:"皇后请自重，我真不想代替陛下呀！",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F1677009\u002F",is_sign:c,author:"夜行书生",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E5%A4%9C%E8%A1%8C%E4%B9%A6%E7%94%9F_14\u002F",category1_name:n,category2_name:s,first_category_url:o,second_category_url:t,is_over:b,words_num:"208.81万字",intro:"穿越大夏王朝，赵无疆本来只想老老实实当个小太监，却无意发现堂堂大夏皇帝居然是女儿身！\n“大胆奴才，竟然还没净身，朕诛你九族！”\n“大胆陛下，你也不想你的秘密被人发现吧？”\n就在这时，风华绝代的皇后突然到来，“陛下，本宫来侍寝。”\n女皇帝情急之下连忙吹灭灯火，“小赵子，你替朕伺候皇后，以后便是朕的心腹！”",latest_chapter_id:"17120351451678",latest_chapter_title:"第1678章  线人",update_time:"2024-04-02 13:19:15",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002F7855e0f096b6609815fb081be1591370_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:c,bonus:a},{book_id:"215169",title:"寒门枭士",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F215169\u002F",is_sign:c,author:"北川",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E5%8C%97%E5%B7%9D_14\u002F",category1_name:n,category2_name:s,first_category_url:o,second_category_url:t,is_over:c,words_num:"440.9万字",intro:"《王牌对王牌》推荐！\n突然穿越到了古代，饭都吃不饱怎么办？什么，男人快被打完了，官府发了个漂亮老婆，明年必须生孩子？什么，外族又来入侵中原？……\n没关系，学好数理化，走遍天下都不怕！\n草原骑兵势不可挡？倭寇的大船坚不可摧？\n笑话！",latest_chapter_id:"17113852812138",latest_chapter_title:"第2138章  盛世如愿",update_time:"2024-03-26 00:48:15",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002F16199735c977aedf0b5cfe18620bf55b_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:v,bonus:"10000",bonusNumber:g},{book_id:"1736407",title:"得分凶猛",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F1736407\u002F",is_sign:c,author:"流浪沙鸥",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E6%B5%81%E6%B5%AA%E6%B2%99%E9%B8%A5_14\u002F",category1_name:"体育",category2_name:"篮球风云",first_category_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002Fa-206-a-a-a-a-a-click-1\u002F",second_category_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002Fa-206-235-a-a-a-a-click-1\u002F",is_over:b,words_num:"70.99万字",intro:"2003年，鲨鱼尚未东游，石佛狼王正在巅峰，四大前锋交相辉映，四大分卫，北卡南麦东艾西科，执掌联盟外线。\n新生代天选之子勒布朗詹姆斯、NCAA第一人卡梅隆安东尼、马奎特闪电韦德蓄势待发，朝着联盟发起猛攻。\n在这个时候，苏丰，一个中国留学生，得到球神外挂的他，于芝加哥开启他的NBA征程。以得分为准绳，制裁全联盟。",latest_chapter_id:"17119032040207",latest_chapter_title:"第207章  他是怎么做到的",update_time:"2024-04-01 00:40:06",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002F459c930afa4b037d7dab59a814e5ff67_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:b,bonus:"8000",bonusNumber:f},{book_id:"1650862",title:"网游开局合成顶级神装",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F1650862\u002F",is_sign:c,author:"今晚吃鸡",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E4%BB%8A%E6%99%9A%E5%90%83%E9%B8%A1_14\u002F",category1_name:Q,category2_name:R,first_category_url:S,second_category_url:T,is_over:b,words_num:"287.12万字",intro:"（一本轻松搞笑向网游小说，你想要的，应有尽有哦）\n江白只想打金，开局却获得了无限合成系统。\n当别人还在辛辛苦苦的为一件垃圾白装奋斗时。\n江白却已经合成了传说神器！\n当别人还在组队刷怪时。\n江白却在单刷顶级BOSS！\n江白只想低调做人，闷声发财。\n却不想昔日高傲的女神对自己各种跪舔……\n（关键词：创世之心）",latest_chapter_id:"17119969811297",latest_chapter_title:"第1297章  双重提升",update_time:"2024-04-02 02:43:10",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002Fe71e0225f6f105670b113f54f473ac2e_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:b,bonus:a},{book_id:"1693832",title:"超神玩家",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F1693832\u002F",is_sign:c,author:"失落叶",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E5%A4%B1%E8%90%BD%E5%8F%B6_14\u002F",category1_name:Q,category2_name:R,first_category_url:S,second_category_url:T,is_over:b,words_num:"298.48万字",intro:"游戏天下谁为峰，一见霁霖皆成空。\n谁言国服多豪杰，转眼尽付笑谈中。\n三流替补，饮水机管理员。\n曾经的天才少年再战游戏江湖。\n诸位一流高手，对不住了。\n这山巅太小，只容得下我丁霁霖一人而已啊！",latest_chapter_id:"17120304850925",latest_chapter_title:"第925章  山海界中的乱杀！",update_time:"2024-04-02 12:01:39",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002F4f229a43fc9790e9c4e725921c0be08a_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:c,bonus:a},{book_id:"1717654",title:"开局合欢宗，被师姐拿捏命脉",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F1717654\u002F",is_sign:c,author:"咸鱼老白",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E5%92%B8%E9%B1%BC%E8%80%81%E7%99%BD_14\u002F",category1_name:h,category2_name:i,first_category_url:j,second_category_url:k,is_over:b,words_num:"115.97万字",intro:"林师兄，柳师姐又双叒让你过去与她双修了。\n林风眠欲哭无泪，就不能让我放一天假吗？\n自从来了这合欢宗，他是天天上山松土，没日没夜地干。\n修为没有一日千里也就算了，身体还一日不如一日。\n这合欢宗真的不能再呆了，不然早晚死在这些敲骨吸髓的妖女手上。",latest_chapter_id:"17120268650560",latest_chapter_title:"第560章  难不成自己喜欢上他了？",update_time:"2024-04-02 11:01:10",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002F7076e75ab19c7c40fc2c4103903e6d15_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:l,bonus:"5000",bonusNumber:3},{book_id:"1648167",title:"开局截胡五虎上将",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F1648167\u002F",is_sign:c,author:"孔明很愁",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E5%AD%94%E6%98%8E%E5%BE%88%E6%84%81_14\u002F",category1_name:n,category2_name:"穿越历史",first_category_url:o,second_category_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002Fa-56-57-a-a-a-a-click-1\u002F",is_over:c,words_num:"484.57万字",intro:"刘备有五虎将？\n我直接截胡！\n刘备有卧龙凤雏？\n我的智囊团让卧龙凤雏直冒汗！\n什么！\n没有系统？\n这，这，这。。。",latest_chapter_id:"17087109612450",latest_chapter_title:"第2450章  完本感言",update_time:"2024-02-24 01:56:18",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002F5c4bf1f68e3afa7220289dc8a3c3b6d8_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:"17",bonus:U},{book_id:"1736405",title:"都穿越了还不造反啊！",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F1736405\u002F",is_sign:c,author:"酒白",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E9%85%92%E7%99%BD_14\u002F",category1_name:n,category2_name:s,first_category_url:o,second_category_url:t,is_over:b,words_num:"116.32万字",intro:"如果有一个穿越的机会，你想要吗？前世省吃俭用，卷到肝碎，最后媳妇跑了。\n回到古代，就从嫂子开始干吧。\n那一夜，我弄死了阴狠的大哥，欲撬开嫂子的房门。\n从门缝处看到榻上熟睡嫂子的容颜，那薄被欲掩欲盖下的雪白……。\n盛世牛马，乱世炮灰，这一世要活的滋润，终究还是要搞军权！",latest_chapter_id:"17119668010430",latest_chapter_title:"第430章  进一步搜刮，敲打高平和平南两县",update_time:"2024-04-01 18:20:04",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002F48d72ae3d0a1c4938b4ba5cdc55bd04e_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:v,bonus:U},{book_id:"219040",title:"极道剑尊",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F219040\u002F",is_sign:c,author:"人间又污秽了",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E4%BA%BA%E9%97%B4%E5%8F%88%E6%B1%A1%E7%A7%BD%E4%BA%86_14\u002F",category1_name:h,category2_name:i,first_category_url:j,second_category_url:k,is_over:b,words_num:"554.41万字",intro:"踏天骄，镇万道！\n问鼎极道，唯我剑尊！\n我这一剑平平无奇，但你们绝对会死！",latest_chapter_id:"17120371822427",latest_chapter_title:"第2427章  阿剑赠剑！",update_time:"2024-04-02 13:53:18",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002F83064984bea8903f457325709a7fc042_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:b,bonus:U},{book_id:"219542",title:"全球灾变之末日游戏",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F219542\u002F",is_sign:c,author:"我爱吃猫片",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E6%88%91%E7%88%B1%E5%90%83%E7%8C%AB%E7%89%87_14\u002F",category1_name:V,category2_name:W,first_category_url:X,second_category_url:Y,is_over:b,words_num:"460.09万字",intro:"【2024年最火末日神作】\n如果仁慈和善良不能拯救世人。\n那么这一次，我选择杀戮。\n-------------------\n我于死亡中重生，亦如烈日下的罪恶。",latest_chapter_id:"17119665692024",latest_chapter_title:"第2024章  普罗米修斯",update_time:"2024-04-01 18:16:23",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002F9c7a67e914f771fafbae1c743c75bce3_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:c,bonus:w},{book_id:"1736230",title:"国家送媳妇？来一打，都收了",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F1736230\u002F",is_sign:c,author:"沧海巫山",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E6%B2%A7%E6%B5%B7%E5%B7%AB%E5%B1%B1_14\u002F",category1_name:n,category2_name:s,first_category_url:o,second_category_url:t,is_over:b,words_num:"94.3万字",intro:"相亲被辱，穿越到男丁极少的战乱古代，开局国家分配媳妇，屁股大腰圆的是香饽饽，娇小玲珑的美人成了不能生养的滞销货？林小凡不客气的领了五个极品美女回家造娃。被嘲讽家里穷养不活媳妇？林小凡自制伤药日进斗金。就在众人等着林小凡生不出儿子挨板子的时候，五个媳妇生了，一胎十个，震惊朝野。就连前世瞧不起他的相亲女，每晚都拉着他的手求造娃！女人你闪开，乱世枭雄，小爷我可是要称霸天下的！",latest_chapter_id:"17119963810449",latest_chapter_title:"第449章  剑锋袭杀中军",update_time:"2024-04-02 02:33:04",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002F3c80b976a63a60a4d2ca1b2813dc5b5c_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:"-6",bonus:w},{book_id:"208895",title:"神级进化动物杀手团",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F208895\u002F",is_sign:c,author:"九把火",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E4%B9%9D%E6%8A%8A%E7%81%AB_14\u002F",category1_name:h,category2_name:i,first_category_url:j,second_category_url:k,is_over:c,words_num:"172.25万字",intro:"林昊穿越到万族林立的玄幻世界，入赘赵府的姑爷。\n原以为就要这样憋屈的度过余生，却绑定了神级进化动物系统。\n“叮，您的苍蝇杀手已强化双爪，携带金属武器，锋利如刃！”\n“叮，您的宠物蜘蛛进化完毕，获得特殊技能，致命毒素！”\n……\n从此以后，世界上多了一支神秘的杀手组织，以动物为手下，杀人于无形之间。\n“很抱歉，我的士兵其实都是饲养员，动物才是真正的军团！”\n望着那恐慌的敌军，林昊淡淡的说道。",latest_chapter_id:"16498371000772",latest_chapter_title:"第772章  一声兄弟,一生兄弟",update_time:"2022-04-13 16:05:06",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002Ff5ae3b898fe981bd091de0b266fb0786_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:c,bonus:a},{book_id:"210771",title:"万古龙帝",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F210771\u002F",is_sign:c,author:"拓跋流云",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E6%8B%93%E8%B7%8B%E6%B5%81%E4%BA%91_14\u002F",category1_name:h,category2_name:i,first_category_url:j,second_category_url:k,is_over:c,words_num:"864.71万字",intro:"（新书《斩天刀》已发布，七猫搜索可看）\n少年林尘遭陷害、幻兽被杀，又被曾经拒绝过的女人狠狠嘲讽。\n在尊严被践踏之时，体内封印破碎，九头混沌巨兽出现，诸天神佛为之颤抖！\n至此，大帝在我面前，也不过蝼蚁，我为龙帝，万界无敌！",latest_chapter_id:"16855502412221",latest_chapter_title:"第2221章  归来！（全书完）",update_time:"2023-06-01 00:24:17",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002F625682a289d46_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:v,bonus:a},{book_id:"1729484",title:"凡尘飞仙",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F1729484\u002F",is_sign:c,author:"齐甲",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E9%BD%90%E7%94%B2_14\u002F",category1_name:h,category2_name:i,first_category_url:j,second_category_url:k,is_over:b,words_num:"166.76万字",intro:"一个普通的农村少年，偶然得到聚宝盆，凭借其复制能力，得到海量资源，走上修行一途……仙路悠悠，普通少年的飞仙之路……",latest_chapter_id:"17120374810730",latest_chapter_title:"第730章  苗霞渡劫",update_time:"2024-04-02 13:58:07",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002F0839cdd48e3aaa55561d13bbb3e3b407_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:"-4",bonus:a},{book_id:"221137",title:"网游之全服公敌",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F221137\u002F",is_sign:c,author:"黑白相间",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E9%BB%91%E7%99%BD%E7%9B%B8%E9%97%B4_14\u002F",category1_name:Q,category2_name:R,first_category_url:S,second_category_url:T,is_over:c,words_num:"174.98万字",intro:"这是一个难度极其离谱的游戏，如果你没足够的能耐，村都别想出去！\n————\n新书《刚出娘胎，定亲转世女帝》已发布，欢迎感兴趣的读者朋友前往阅读~~",latest_chapter_id:"16751583600763",latest_chapter_title:"第763章  江天帝的故事（大结局）",update_time:"2023-01-31 17:46:06",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002Fbde65f1f1bf5d837af2a4b97c2e208ad_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:v,bonus:a},{book_id:"215086",title:"武逆九千界",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F215086\u002F",is_sign:c,author:"虚尘",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E8%99%9A%E5%B0%98_14\u002F",category1_name:h,category2_name:i,first_category_url:j,second_category_url:k,is_over:b,words_num:"938.87万字",intro:"镇龙塔降世，少年炼化九大龙帝，修万古不败龙体，斩诸天神魔帝尊，神挡杀神，佛挡杀佛，无敌九千界！",latest_chapter_id:"17119800024381",latest_chapter_title:"第4381章  主神？滚，我才是猎人！",update_time:"2024-04-01 22:00:33",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002Fac5df2182304c8a30c805873066252d7_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:"5",bonus:w},{book_id:"213092",title:"吞噬古帝",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F213092\u002F",is_sign:c,author:"黑白仙鹤",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E9%BB%91%E7%99%BD%E4%BB%99%E9%B9%A4_14\u002F",category1_name:h,category2_name:i,first_category_url:j,second_category_url:k,is_over:b,words_num:"859.4万字",intro:"少年苏辰被人夺帝骨，废血轮，惨遭家族遗弃。\n觉醒混沌体，开启混沌吞噬塔，重聚血轮逆天崛起，誓要踏足武道巅峰！\n吞噬无尽寰宇，横扫万千星辰，一剑斩破九天，霸绝万古苍穹！\n吾为古帝，万族臣服！",latest_chapter_id:"17120269214106",latest_chapter_title:"第4106章  我自己能搞定",update_time:"2024-04-02 11:02:30",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002F620cbbffc7d8f_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:b,bonus:w},{book_id:"151762",title:"最强末世进化",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F151762\u002F",is_sign:c,author:"蔡四爷",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E8%94%A1%E5%9B%9B%E7%88%B7_14\u002F",category1_name:V,category2_name:W,first_category_url:X,second_category_url:Y,is_over:b,words_num:"891.58万字",intro:"财宝、秘宝！\n幻境、仙境！\n未知这个词所绽放的魔力，吸引了众多强者趋之若鹜！\n挣扎在末世中的姜毅第一次知道力量的重要性，一场大雨弄的全球疯狂进化，能力者与凶兽、丧尸永远不会和平共处，想要生存，就只有抢压与……杀戮！！\n末世突临，丧尸遍地！没有觉醒过异能的姜毅沦为炮灰，被人遗弃在了宿舍内。鼓起勇气千辛万苦终于击杀了一头丧尸，居然激发出了……",latest_chapter_id:"17119030823039",latest_chapter_title:"第3039章  恶名远播……恶面鬼影",update_time:"2024-04-01 00:38:23",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002Fa3c6\u002F58f21519ab8f095e142e2c0812476c04_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:u,bonus:a},{book_id:"1655407",title:"鸿蒙霸体诀",book_url:"https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002F1655407\u002F",is_sign:c,author:"鱼初见",author_url:"https:\u002F\u002Fwww.qimao.com\u002Fzuozhe\u002F%E9%B1%BC%E5%88%9D%E8%A7%81_14\u002F",category1_name:h,category2_name:i,first_category_url:j,second_category_url:k,is_over:b,words_num:"324.14万字",intro:"十万年前，九位风姿卓绝，独断万古的女帝，妖后，被封印于鸿蒙金塔之中。\n十万年后，少年萧诺，被家族迫害，沦为弃子。阴差阳错之下，开启鸿蒙金塔，修炼霸体神诀，成就无上神体。\n自此诸天仙魔，皆将烟消云散。",latest_chapter_id:"17120194201154",latest_chapter_title:"第1154章  公子，干他",update_time:"2024-04-02 08:57:09",image_link:"https:\u002F\u002Fcdn.wtzw.com\u002Fbookimg\u002Fpublic\u002Fimages\u002Fcover\u002F62f5bebc1ab75_360x480.jpg",status:c,number:a,unit:a,is_new:b,surge_rank:a,is_continue_top:b,index_change:b,bonus:a}],pageConfig:{count:"100",page:c,page_size:"20",data_month:"2024-02",start_month:"2022-01"},currentDateType:f,endDate:{year:Z,month:l},startDate:{year:"2022",month:c},selectDate:{year:Z,month:l},showDateSelect:e,bonusNumber:4}},error:null,state:{userInfo:{},reader:{themesArr:[x,"blue","yellow","green","red","dark"],theme:x,fontSize:"18",fontFamily:a,hasSetThemeServer:d,chaptersCatalogList:[],currentBookId:a,currentChapterId:a,bookInfo:{title:a,author:a,chapterTitle:a},showReaderLimit:d,limitScroll:d},smcaptchaStatus:d,themeStyle:{"default-wrapper-bg":"#e0e0e0","default-first-color":"#222","default-second-color":"#666","default-third-color":"#999","default-content-bg":"#f5f5f5","default-dash-line-color":_,"default-cover-outline-color":_,"default-btn-bg-color":"linear-gradient(270deg,#eaeaea,#f5f5f5)","default-mask-bg-color":"linear-gradient(180deg,rgba(254,242,242,0),#f5f5f5)","blue-wrapper-bg":$,"blue-first-color":"#131a1e","blue-second-color":"#5b6265","blue-third-color":"#93999d","blue-content-bg":"#f5f8fb","blue-dash-line-color":$,"blue-cover-outline-color":"#dcdee1","blue-btn-bg-color":"linear-gradient(270deg,#e6eaef,#f5f8fb)","blue-mask-bg-color":"linear-gradient(180deg,rgba(254,242,242,0),#f5f8fb)","#ff0-wrapper-bg":"#e3d9bc","#ff0-first-color":"#413b2a","#ff0-second-color":"#6e6a5f","#ff0-third-color":"#949289","#ff0-content-bg":"#f4f1e9","#ff0-dash-line-color":"#e1dcd3","#ff0-cover-outline-color":"#e7e3d8","#ff0-btn-bg-color":"linear-gradient(270deg,#e9e5da,#f4f1e9)","#ff0-mask-bg-color":"linear-gradient(180deg,rgba(254,242,242,0),#f4f1e9)","green-wrapper-bg":"#ddebd6","green-first-color":"#394434","green-second-color":"#62695f","green-third-color":"#90978c","green-content-bg":"#f5faf2","green-dash-line-color":"#dce0d9","green-cover-outline-color":"#e3ecde","green-btn-bg-color":"linear-gradient(270deg,#ecf9e5,#f0f8eb)","green-mask-bg-color":"linear-gradient(180deg,rgba(254,242,242,0),#f5faf2)","red-wrapper-bg":"#f3d8d8","red-first-color":"#453030","red-second-color":"#675656","red-third-color":"#a79696","red-content-bg":"#fef2f2","red-dash-line-color":"#e4d9d9","red-cover-outline-color":"#f0dfdf","red-btn-bg-color":"linear-gradient(270deg,#f1dfdf,#fef2f2)","red-mask-bg-color":"linear-gradient(180deg,rgba(254,242,242,0),#fef2f2)","dark-wrapper-bg":"#242121","dark-first-color":"#ccc","dark-second-color":aa,"dark-third-color":aa,"dark-content-bg":"#353535","dark-dash-line-color":"#494949","dark-cover-outline-color":"#464646","dark-btn-bg-color":"linear-gradient(270deg,#2d2d2d,#353535)","dark-mask-bg-color":"linear-gradient(180deg,rgba(53,53,53,0),#353535)"},readerChapterInfo:{nextChapter:{},prevChapter:{},chapterInfo:{},bookSummary:{},isLoginStatus:d,chapterData:a,showDom:d},recommendBookInfo:{},indexBannerList:[],paihang:{pathNameMap:{top:{name:y,rank_type:u,rule:ab,rule_info:ac,showDateSelect:e,is_show:d,date_type:[f],txt:a},leap:{name:z,rank_type:A,rule:ad,rule_info:ae,showDateSelect:d,is_show:d,date_type:[f],txt:a},hot:{name:B,rank_type:c,date_rule:p,month_rule:q,is_show:e,date_type:[g,f],txt:r},new:{name:C,rank_type:l,date_rule:p,month_rule:q,is_show:e,date_type:[g,f],txt:r,rule_info_girl:af,rule_info:ag},over:{name:D,rank_type:E,date_rule:p,month_rule:q,is_show:e,date_type:[g,f],txt:r},collect:{rank_type:F,name:G,date_rule:ah,is_show:e,date_type:[g],txt:H},update:{rank_type:I,name:J,date_rule:ai,is_show:e,date_type:[g],txt:H}},defaultPath:m,currentMenuInfo:{},menuList:[{rank_type:u,path:m,name:y},{rank_type:A,name:z,path:K},{rank_type:x,path:a,name:aj,child:[{rank_type:c,name:B,path:L},{rank_type:l,name:C,path:M},{rank_type:E,name:D,path:N},{rank_type:F,name:G,path:O},{rank_type:I,name:J,path:P}]}],paramsRankArr:[m,K,L,M,N,O,ak,P]},book:{bookShelfHistoryData:{},bookChapterList:[]},common:{editorList:{female:[],male:[]},hasGetUserInfoStatus:d,commonFixedRightNeedOffset:d,bookRelatedInfo:{authorDetail:{},bookDetail:{},extraConfig:{},authorOtherBook:[],bookIntroData:{},recommendBook:[]},commonConfig:{partner_list:[],author_level_pic:{}},isIEBrowser:d,isCloseReader:d,isCloseReaderText:al},modules:{book:{bookShelfHistoryData:{},bookChapterList:[]},common:{editorList:{female:[],male:[]},hasGetUserInfoStatus:d,commonFixedRightNeedOffset:d,bookRelatedInfo:{authorDetail:{},bookDetail:{},extraConfig:{},authorOtherBook:[],bookIntroData:{},recommendBook:[]},commonConfig:{partner_list:[],author_level_pic:{}},isIEBrowser:d,isCloseReader:d,isCloseReaderText:al},paihang:{pathNameMap:{top:{name:y,rank_type:u,rule:ab,rule_info:ac,showDateSelect:e,is_show:d,date_type:[f],txt:a},leap:{name:z,rank_type:A,rule:ad,rule_info:ae,showDateSelect:d,is_show:d,date_type:[f],txt:a},hot:{name:B,rank_type:c,date_rule:p,month_rule:q,is_show:e,date_type:[g,f],txt:r},new:{name:C,rank_type:l,date_rule:p,month_rule:q,is_show:e,date_type:[g,f],txt:r,rule_info_girl:af,rule_info:ag},over:{name:D,rank_type:E,date_rule:p,month_rule:q,is_show:e,date_type:[g,f],txt:r},collect:{rank_type:F,name:G,date_rule:ah,is_show:e,date_type:[g],txt:H},update:{rank_type:I,name:J,date_rule:ai,is_show:e,date_type:[g],txt:H}},defaultPath:a,currentMenuInfo:{},menuList:[{rank_type:u,path:m,name:y},{rank_type:A,name:z,path:K},{rank_type:x,path:a,name:aj,child:[{rank_type:c,name:B,path:L},{rank_type:l,name:C,path:M},{rank_type:E,name:D,path:N},{rank_type:F,name:G,path:O},{rank_type:I,name:J,path:P}]}],paramsRankArr:[m,K,L,M,N,O,ak,P]}}},serverRendered:e,routePath:"\u002Fpaihang",config:{_app:{basePath:am,assetsPath:am,cdnURL:"https:\u002F\u002Fcdn-front.qimao.com\u002Fqimao\u002F"}}}}("","0","1",false,true,2,1,"玄幻奇幻","东方玄幻","https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002Fa-202-a-a-a-a-a-click-1\u002F","https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002Fa-202-37-a-a-a-a-click-1\u002F","2","top","历史","https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002Fa-56-a-a-a-a-a-click-1\u002F","基于昨日书籍热度排行","书籍热度排行","热度","架空历史","https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002Fa-56-58-a-a-a-a-click-1\u002F","7","-1","2000","default","原创风云榜","原创飞跃榜","8","大热榜","新书榜","完结榜","3","4","收藏榜","名","6","更新榜","leap","hot","new","over","collect","update","游戏","虚拟网游","https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002Fa-75-a-a-a-a-a-click-1\u002F","https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002Fa-75-232-a-a-a-a-click-1\u002F","3000","科幻","末世危机","https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002Fa-64-a-a-a-a-a-click-1\u002F","https:\u002F\u002Fwww.qimao.com\u002Fshuku\u002Fa-64-66-a-a-a-a-click-1\u002F","2024","#ddd","#cfd9e0","#747474","基于书籍综合指标排行","原创风云榜是针对七猫中文网所有独家签约作品，基于上月的作品收入、好评数、打赏值、必读票数及作品题材五大维度综合计算，并于每月3日12点准时发布。","基于书籍增量指标排行","原创飞跃榜是针对七猫中文网所有独家签约作品，基于上月的作品收入增量、好评数增量、打赏值增量、必读票数增量及作品题材五大维度综合计算，并于每月3日12点准时发布。","女生新书：总字数低于50万，且每天更新的七猫原创作品。","男生新书：总字数低于50万，且每天更新的七猫原创作品。","基于书籍收藏总数排行","基于书籍30天内的更新总字数排行","热门作品排行","search","推荐您下载【七猫免费小说App】，免费畅读全本","\u002F"));&lt;/script&gt;&lt;script defer="" src="https://cdn-front.qimao.com/qimao/js/ac83bad.js"&gt;&lt;/script&gt;&lt;script defer="" src="https://cdn-front.qimao.com/qimao/js/b112dbd.js"&gt;&lt;/script&gt;&lt;script defer="" src="https://cdn-front.qimao.com/qimao/js/55b9a0d.js"&gt;&lt;/script&gt;&lt;script defer="" src="https://cdn-front.qimao.com/qimao/js/214c30e.js"&gt;&lt;/script&gt;&lt;script defer="" src="https://cdn-front.qimao.com/qimao/js/2a34c77.js"&gt;&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=7b9088d0-51a7-47c1-8f3a-47014b9d179a">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [4]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">name</span><span class="o">=</span><span class="n">find_all</span><span class="p">(</span><span class="s1">'a'</span><span class="p">,</span> <span class="n">class_</span><span class="o">=</span><span class="s1">'s-book-title'</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-intense-fg ansi-bold">---------------------------------------------------------------------------</span>
<span class="ansi-red-intense-fg ansi-bold">NameError</span>                                 Traceback (most recent call last)
Cell <span class="ansi-green-intense-fg ansi-bold">In[4], line 1</span>
<span class="ansi-green-intense-fg ansi-bold">----&gt; 1</span> name<span style="color: rgb(98,98,98)">=</span>find_all(<span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">a</span><span style="color: rgb(175,0,0)">'</span>, class_<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">s-book-title</span><span style="color: rgb(175,0,0)">'</span>)
<span class="ansi-green-fg">      2</span> <span style="color: rgb(0,135,0)">print</span>(name)

<span class="ansi-red-intense-fg ansi-bold">NameError</span>: name 'find_all' is not defined</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=e18d722d-c8da-427a-8980-0d2fb024a426">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [6]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">name</span><span class="o">=</span><span class="n">soup</span><span class="o">.</span><span class="n">find_all</span><span class="p">(</span><span class="s1">'a'</span><span class="p">,</span> <span class="n">class_</span><span class="o">=</span><span class="s1">'s-book-title'</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>[&lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1747899/" target="_blank"&gt;无敌六皇子&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1677009/" target="_blank"&gt;皇后请自重，我真不想代替陛下呀！&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/215169/" target="_blank"&gt;寒门枭士&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1736407/" target="_blank"&gt;得分凶猛&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1650862/" target="_blank"&gt;网游开局合成顶级神装&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1693832/" target="_blank"&gt;超神玩家&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1717654/" target="_blank"&gt;开局合欢宗，被师姐拿捏命脉&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1648167/" target="_blank"&gt;开局截胡五虎上将&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1736405/" target="_blank"&gt;都穿越了还不造反啊！&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/219040/" target="_blank"&gt;极道剑尊&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/219542/" target="_blank"&gt;全球灾变之末日游戏&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1736230/" target="_blank"&gt;国家送媳妇？来一打，都收了&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/208895/" target="_blank"&gt;神级进化动物杀手团&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/210771/" target="_blank"&gt;万古龙帝&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1729484/" target="_blank"&gt;凡尘飞仙&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/221137/" target="_blank"&gt;网游之全服公敌&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/215086/" target="_blank"&gt;武逆九千界&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/213092/" target="_blank"&gt;吞噬古帝&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/151762/" target="_blank"&gt;最强末世进化&lt;/a&gt;, &lt;a class="s-book-title" data-v-032429ae="" href="https://www.qimao.com/shuku/1655407/" target="_blank"&gt;鸿蒙霸体诀&lt;/a&gt;]
</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=88a4bede-57a8-404c-a30b-e48d1ead9095">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [8]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">urls</span><span class="o">=</span> <span class="s1">'C:</span><span class="se">\\</span><span class="s1">uls</span><span class="se">\\</span><span class="s1">urls.txt'</span>  
<span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">urls</span><span class="p">):</span>  
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>  
    <span class="n">soup</span> <span class="o">=</span> <span class="n">BeautifulSoup</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">text</span><span class="p">,</span> <span class="s1">'html.parser'</span><span class="p">)</span>  
    <span class="nb">print</span><span class="p">(</span><span class="n">soup</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-intense-fg ansi-bold">---------------------------------------------------------------------------</span>
<span class="ansi-red-intense-fg ansi-bold">MissingSchema</span>                             Traceback (most recent call last)
Cell <span class="ansi-green-intense-fg ansi-bold">In[8], line 3</span>
<span class="ansi-green-fg">      1</span> urls<span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">C:</span><span class="ansi-bold" style="color: rgb(175,95,0)">\\</span><span style="color: rgb(175,0,0)">uls</span><span class="ansi-bold" style="color: rgb(175,95,0)">\\</span><span style="color: rgb(175,0,0)">urls.txt</span><span style="color: rgb(175,0,0)">'</span>  
<span class="ansi-green-fg">      2</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> url <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> <span style="color: rgb(0,135,0)">enumerate</span>(urls):  
<span class="ansi-green-intense-fg ansi-bold">----&gt; 3</span>     response <span style="color: rgb(98,98,98)">=</span> requests<span style="color: rgb(98,98,98)">.</span>get(url)  
<span class="ansi-green-fg">      4</span>     soup <span style="color: rgb(98,98,98)">=</span> BeautifulSoup(response<span style="color: rgb(98,98,98)">.</span>text, <span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">html.parser</span><span style="color: rgb(175,0,0)">'</span>)  
<span class="ansi-green-fg">      5</span>     <span style="color: rgb(0,135,0)">print</span>(soup<span style="color: rgb(98,98,98)">.</span>text)

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\api.py:73</span>, in <span class="ansi-cyan-fg">get</span><span class="ansi-blue-intense-fg ansi-bold">(url, params, **kwargs)</span>
<span class="ansi-green-fg">     62</span> <span class="ansi-bold" style="color: rgb(0,135,0)">def</span> <span style="color: rgb(0,0,255)">get</span>(url, params<span style="color: rgb(98,98,98)">=</span><span class="ansi-bold" style="color: rgb(0,135,0)">None</span>, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>kwargs):
<span class="ansi-green-fg">     63</span> <span style="color: rgb(188,188,188)">    </span><span style="color: rgb(175,0,0)">r</span><span style="color: rgb(175,0,0)">"""Sends a GET request.</span>
<span class="ansi-green-fg">     64</span> 
<span class="ansi-green-fg">     65</span> <span style="color: rgb(175,0,0)">    :param url: URL for the new :class:`Request` object.</span>
<span class="ansi-green-intense-fg ansi-bold">   (...)</span>
<span class="ansi-green-fg">     70</span> <span style="color: rgb(175,0,0)">    :rtype: requests.Response</span>
<span class="ansi-green-fg">     71</span> <span style="color: rgb(175,0,0)">    """</span>
<span class="ansi-green-intense-fg ansi-bold">---&gt; 73</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> request(<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">get</span><span style="color: rgb(175,0,0)">"</span>, url, params<span style="color: rgb(98,98,98)">=</span>params, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>kwargs)

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\api.py:59</span>, in <span class="ansi-cyan-fg">request</span><span class="ansi-blue-intense-fg ansi-bold">(method, url, **kwargs)</span>
<span class="ansi-green-fg">     55</span> <span style="color: rgb(95,135,135)"># By using the 'with' statement we are sure the session is closed, thus we</span>
<span class="ansi-green-fg">     56</span> <span style="color: rgb(95,135,135)"># avoid leaving sockets open which can trigger a ResourceWarning in some</span>
<span class="ansi-green-fg">     57</span> <span style="color: rgb(95,135,135)"># cases, and look like a memory leak in others.</span>
<span class="ansi-green-fg">     58</span> <span class="ansi-bold" style="color: rgb(0,135,0)">with</span> sessions<span style="color: rgb(98,98,98)">.</span>Session() <span class="ansi-bold" style="color: rgb(0,135,0)">as</span> session:
<span class="ansi-green-intense-fg ansi-bold">---&gt; 59</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> session<span style="color: rgb(98,98,98)">.</span>request(method<span style="color: rgb(98,98,98)">=</span>method, url<span style="color: rgb(98,98,98)">=</span>url, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>kwargs)

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\sessions.py:575</span>, in <span class="ansi-cyan-fg">Session.request</span><span class="ansi-blue-intense-fg ansi-bold">(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)</span>
<span class="ansi-green-fg">    562</span> <span style="color: rgb(95,135,135)"># Create the Request.</span>
<span class="ansi-green-fg">    563</span> req <span style="color: rgb(98,98,98)">=</span> Request(
<span class="ansi-green-fg">    564</span>     method<span style="color: rgb(98,98,98)">=</span>method<span style="color: rgb(98,98,98)">.</span>upper(),
<span class="ansi-green-fg">    565</span>     url<span style="color: rgb(98,98,98)">=</span>url,
<span class="ansi-green-intense-fg ansi-bold">   (...)</span>
<span class="ansi-green-fg">    573</span>     hooks<span style="color: rgb(98,98,98)">=</span>hooks,
<span class="ansi-green-fg">    574</span> )
<span class="ansi-green-intense-fg ansi-bold">--&gt; 575</span> prep <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>prepare_request(req)
<span class="ansi-green-fg">    577</span> proxies <span style="color: rgb(98,98,98)">=</span> proxies <span class="ansi-bold" style="color: rgb(175,0,255)">or</span> {}
<span class="ansi-green-fg">    579</span> settings <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>merge_environment_settings(
<span class="ansi-green-fg">    580</span>     prep<span style="color: rgb(98,98,98)">.</span>url, proxies, stream, verify, cert
<span class="ansi-green-fg">    581</span> )

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\sessions.py:486</span>, in <span class="ansi-cyan-fg">Session.prepare_request</span><span class="ansi-blue-intense-fg ansi-bold">(self, request)</span>
<span class="ansi-green-fg">    483</span>     auth <span style="color: rgb(98,98,98)">=</span> get_netrc_auth(request<span style="color: rgb(98,98,98)">.</span>url)
<span class="ansi-green-fg">    485</span> p <span style="color: rgb(98,98,98)">=</span> PreparedRequest()
<span class="ansi-green-intense-fg ansi-bold">--&gt; 486</span> p<span style="color: rgb(98,98,98)">.</span>prepare(
<span class="ansi-green-fg">    487</span>     method<span style="color: rgb(98,98,98)">=</span>request<span style="color: rgb(98,98,98)">.</span>method<span style="color: rgb(98,98,98)">.</span>upper(),
<span class="ansi-green-fg">    488</span>     url<span style="color: rgb(98,98,98)">=</span>request<span style="color: rgb(98,98,98)">.</span>url,
<span class="ansi-green-fg">    489</span>     files<span style="color: rgb(98,98,98)">=</span>request<span style="color: rgb(98,98,98)">.</span>files,
<span class="ansi-green-fg">    490</span>     data<span style="color: rgb(98,98,98)">=</span>request<span style="color: rgb(98,98,98)">.</span>data,
<span class="ansi-green-fg">    491</span>     json<span style="color: rgb(98,98,98)">=</span>request<span style="color: rgb(98,98,98)">.</span>json,
<span class="ansi-green-fg">    492</span>     headers<span style="color: rgb(98,98,98)">=</span>merge_setting(
<span class="ansi-green-fg">    493</span>         request<span style="color: rgb(98,98,98)">.</span>headers, <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>headers, dict_class<span style="color: rgb(98,98,98)">=</span>CaseInsensitiveDict
<span class="ansi-green-fg">    494</span>     ),
<span class="ansi-green-fg">    495</span>     params<span style="color: rgb(98,98,98)">=</span>merge_setting(request<span style="color: rgb(98,98,98)">.</span>params, <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>params),
<span class="ansi-green-fg">    496</span>     auth<span style="color: rgb(98,98,98)">=</span>merge_setting(auth, <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>auth),
<span class="ansi-green-fg">    497</span>     cookies<span style="color: rgb(98,98,98)">=</span>merged_cookies,
<span class="ansi-green-fg">    498</span>     hooks<span style="color: rgb(98,98,98)">=</span>merge_hooks(request<span style="color: rgb(98,98,98)">.</span>hooks, <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>hooks),
<span class="ansi-green-fg">    499</span> )
<span class="ansi-green-fg">    500</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> p

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\models.py:368</span>, in <span class="ansi-cyan-fg">PreparedRequest.prepare</span><span class="ansi-blue-intense-fg ansi-bold">(self, method, url, headers, files, data, params, auth, cookies, hooks, json)</span>
<span class="ansi-green-fg">    365</span> <span style="color: rgb(175,0,0)">"""Prepares the entire request with the given parameters."""</span>
<span class="ansi-green-fg">    367</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>prepare_method(method)
<span class="ansi-green-intense-fg ansi-bold">--&gt; 368</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>prepare_url(url, params)
<span class="ansi-green-fg">    369</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>prepare_headers(headers)
<span class="ansi-green-fg">    370</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>prepare_cookies(cookies)

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\models.py:439</span>, in <span class="ansi-cyan-fg">PreparedRequest.prepare_url</span><span class="ansi-blue-intense-fg ansi-bold">(self, url, params)</span>
<span class="ansi-green-fg">    436</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> InvalidURL(<span style="color: rgb(98,98,98)">*</span>e<span style="color: rgb(98,98,98)">.</span>args)
<span class="ansi-green-fg">    438</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> scheme:
<span class="ansi-green-intense-fg ansi-bold">--&gt; 439</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> MissingSchema(
<span class="ansi-green-fg">    440</span>         <span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Invalid URL </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>url<span class="ansi-bold" style="color: rgb(175,95,135)">!r}</span><span style="color: rgb(175,0,0)">: No scheme supplied. </span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-fg">    441</span>         <span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Perhaps you meant https://</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>url<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">?</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-fg">    442</span>     )
<span class="ansi-green-fg">    444</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> host:
<span class="ansi-green-fg">    445</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> InvalidURL(<span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Invalid URL </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>url<span class="ansi-bold" style="color: rgb(175,95,135)">!r}</span><span style="color: rgb(175,0,0)">: No host supplied</span><span style="color: rgb(175,0,0)">"</span>)

<span class="ansi-red-intense-fg ansi-bold">MissingSchema</span>: Invalid URL "(0, 'C')": No scheme supplied. Perhaps you meant https://(0, 'C')?</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=d359aa32-2493-4233-8edb-726a6caf7a82">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [11]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">urls</span><span class="o">=</span> <span class="s1">'C:</span><span class="se">\\</span><span class="s1">uls</span><span class="se">\\</span><span class="s1">urls.txt'</span>  
<span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">urls</span><span class="p">):</span>  
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>  
    <span class="n">soup</span> <span class="o">=</span> <span class="n">BeautifulSoup</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">text</span><span class="p">,</span> <span class="s1">'html.parser'</span><span class="p">)</span>  
    <span class="nb">print</span><span class="p">(</span><span class="n">soup</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-intense-fg ansi-bold">---------------------------------------------------------------------------</span>
<span class="ansi-red-intense-fg ansi-bold">MissingSchema</span>                             Traceback (most recent call last)
Cell <span class="ansi-green-intense-fg ansi-bold">In[11], line 3</span>
<span class="ansi-green-fg">      1</span> urls<span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">C:</span><span class="ansi-bold" style="color: rgb(175,95,0)">\\</span><span style="color: rgb(175,0,0)">uls</span><span class="ansi-bold" style="color: rgb(175,95,0)">\\</span><span style="color: rgb(175,0,0)">urls.txt</span><span style="color: rgb(175,0,0)">'</span>  
<span class="ansi-green-fg">      2</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> url <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> <span style="color: rgb(0,135,0)">enumerate</span>(urls):  
<span class="ansi-green-intense-fg ansi-bold">----&gt; 3</span>     response <span style="color: rgb(98,98,98)">=</span> requests<span style="color: rgb(98,98,98)">.</span>get(url)  
<span class="ansi-green-fg">      4</span>     soup <span style="color: rgb(98,98,98)">=</span> BeautifulSoup(response<span style="color: rgb(98,98,98)">.</span>text, <span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">html.parser</span><span style="color: rgb(175,0,0)">'</span>)  
<span class="ansi-green-fg">      5</span>     <span style="color: rgb(0,135,0)">print</span>(soup)

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\api.py:73</span>, in <span class="ansi-cyan-fg">get</span><span class="ansi-blue-intense-fg ansi-bold">(url, params, **kwargs)</span>
<span class="ansi-green-fg">     62</span> <span class="ansi-bold" style="color: rgb(0,135,0)">def</span> <span style="color: rgb(0,0,255)">get</span>(url, params<span style="color: rgb(98,98,98)">=</span><span class="ansi-bold" style="color: rgb(0,135,0)">None</span>, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>kwargs):
<span class="ansi-green-fg">     63</span> <span style="color: rgb(188,188,188)">    </span><span style="color: rgb(175,0,0)">r</span><span style="color: rgb(175,0,0)">"""Sends a GET request.</span>
<span class="ansi-green-fg">     64</span> 
<span class="ansi-green-fg">     65</span> <span style="color: rgb(175,0,0)">    :param url: URL for the new :class:`Request` object.</span>
<span class="ansi-green-intense-fg ansi-bold">   (...)</span>
<span class="ansi-green-fg">     70</span> <span style="color: rgb(175,0,0)">    :rtype: requests.Response</span>
<span class="ansi-green-fg">     71</span> <span style="color: rgb(175,0,0)">    """</span>
<span class="ansi-green-intense-fg ansi-bold">---&gt; 73</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> request(<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">get</span><span style="color: rgb(175,0,0)">"</span>, url, params<span style="color: rgb(98,98,98)">=</span>params, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>kwargs)

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\api.py:59</span>, in <span class="ansi-cyan-fg">request</span><span class="ansi-blue-intense-fg ansi-bold">(method, url, **kwargs)</span>
<span class="ansi-green-fg">     55</span> <span style="color: rgb(95,135,135)"># By using the 'with' statement we are sure the session is closed, thus we</span>
<span class="ansi-green-fg">     56</span> <span style="color: rgb(95,135,135)"># avoid leaving sockets open which can trigger a ResourceWarning in some</span>
<span class="ansi-green-fg">     57</span> <span style="color: rgb(95,135,135)"># cases, and look like a memory leak in others.</span>
<span class="ansi-green-fg">     58</span> <span class="ansi-bold" style="color: rgb(0,135,0)">with</span> sessions<span style="color: rgb(98,98,98)">.</span>Session() <span class="ansi-bold" style="color: rgb(0,135,0)">as</span> session:
<span class="ansi-green-intense-fg ansi-bold">---&gt; 59</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> session<span style="color: rgb(98,98,98)">.</span>request(method<span style="color: rgb(98,98,98)">=</span>method, url<span style="color: rgb(98,98,98)">=</span>url, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>kwargs)

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\sessions.py:575</span>, in <span class="ansi-cyan-fg">Session.request</span><span class="ansi-blue-intense-fg ansi-bold">(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)</span>
<span class="ansi-green-fg">    562</span> <span style="color: rgb(95,135,135)"># Create the Request.</span>
<span class="ansi-green-fg">    563</span> req <span style="color: rgb(98,98,98)">=</span> Request(
<span class="ansi-green-fg">    564</span>     method<span style="color: rgb(98,98,98)">=</span>method<span style="color: rgb(98,98,98)">.</span>upper(),
<span class="ansi-green-fg">    565</span>     url<span style="color: rgb(98,98,98)">=</span>url,
<span class="ansi-green-intense-fg ansi-bold">   (...)</span>
<span class="ansi-green-fg">    573</span>     hooks<span style="color: rgb(98,98,98)">=</span>hooks,
<span class="ansi-green-fg">    574</span> )
<span class="ansi-green-intense-fg ansi-bold">--&gt; 575</span> prep <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>prepare_request(req)
<span class="ansi-green-fg">    577</span> proxies <span style="color: rgb(98,98,98)">=</span> proxies <span class="ansi-bold" style="color: rgb(175,0,255)">or</span> {}
<span class="ansi-green-fg">    579</span> settings <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>merge_environment_settings(
<span class="ansi-green-fg">    580</span>     prep<span style="color: rgb(98,98,98)">.</span>url, proxies, stream, verify, cert
<span class="ansi-green-fg">    581</span> )

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\sessions.py:486</span>, in <span class="ansi-cyan-fg">Session.prepare_request</span><span class="ansi-blue-intense-fg ansi-bold">(self, request)</span>
<span class="ansi-green-fg">    483</span>     auth <span style="color: rgb(98,98,98)">=</span> get_netrc_auth(request<span style="color: rgb(98,98,98)">.</span>url)
<span class="ansi-green-fg">    485</span> p <span style="color: rgb(98,98,98)">=</span> PreparedRequest()
<span class="ansi-green-intense-fg ansi-bold">--&gt; 486</span> p<span style="color: rgb(98,98,98)">.</span>prepare(
<span class="ansi-green-fg">    487</span>     method<span style="color: rgb(98,98,98)">=</span>request<span style="color: rgb(98,98,98)">.</span>method<span style="color: rgb(98,98,98)">.</span>upper(),
<span class="ansi-green-fg">    488</span>     url<span style="color: rgb(98,98,98)">=</span>request<span style="color: rgb(98,98,98)">.</span>url,
<span class="ansi-green-fg">    489</span>     files<span style="color: rgb(98,98,98)">=</span>request<span style="color: rgb(98,98,98)">.</span>files,
<span class="ansi-green-fg">    490</span>     data<span style="color: rgb(98,98,98)">=</span>request<span style="color: rgb(98,98,98)">.</span>data,
<span class="ansi-green-fg">    491</span>     json<span style="color: rgb(98,98,98)">=</span>request<span style="color: rgb(98,98,98)">.</span>json,
<span class="ansi-green-fg">    492</span>     headers<span style="color: rgb(98,98,98)">=</span>merge_setting(
<span class="ansi-green-fg">    493</span>         request<span style="color: rgb(98,98,98)">.</span>headers, <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>headers, dict_class<span style="color: rgb(98,98,98)">=</span>CaseInsensitiveDict
<span class="ansi-green-fg">    494</span>     ),
<span class="ansi-green-fg">    495</span>     params<span style="color: rgb(98,98,98)">=</span>merge_setting(request<span style="color: rgb(98,98,98)">.</span>params, <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>params),
<span class="ansi-green-fg">    496</span>     auth<span style="color: rgb(98,98,98)">=</span>merge_setting(auth, <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>auth),
<span class="ansi-green-fg">    497</span>     cookies<span style="color: rgb(98,98,98)">=</span>merged_cookies,
<span class="ansi-green-fg">    498</span>     hooks<span style="color: rgb(98,98,98)">=</span>merge_hooks(request<span style="color: rgb(98,98,98)">.</span>hooks, <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>hooks),
<span class="ansi-green-fg">    499</span> )
<span class="ansi-green-fg">    500</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> p

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\models.py:368</span>, in <span class="ansi-cyan-fg">PreparedRequest.prepare</span><span class="ansi-blue-intense-fg ansi-bold">(self, method, url, headers, files, data, params, auth, cookies, hooks, json)</span>
<span class="ansi-green-fg">    365</span> <span style="color: rgb(175,0,0)">"""Prepares the entire request with the given parameters."""</span>
<span class="ansi-green-fg">    367</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>prepare_method(method)
<span class="ansi-green-intense-fg ansi-bold">--&gt; 368</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>prepare_url(url, params)
<span class="ansi-green-fg">    369</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>prepare_headers(headers)
<span class="ansi-green-fg">    370</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>prepare_cookies(cookies)

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\models.py:439</span>, in <span class="ansi-cyan-fg">PreparedRequest.prepare_url</span><span class="ansi-blue-intense-fg ansi-bold">(self, url, params)</span>
<span class="ansi-green-fg">    436</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> InvalidURL(<span style="color: rgb(98,98,98)">*</span>e<span style="color: rgb(98,98,98)">.</span>args)
<span class="ansi-green-fg">    438</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> scheme:
<span class="ansi-green-intense-fg ansi-bold">--&gt; 439</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> MissingSchema(
<span class="ansi-green-fg">    440</span>         <span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Invalid URL </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>url<span class="ansi-bold" style="color: rgb(175,95,135)">!r}</span><span style="color: rgb(175,0,0)">: No scheme supplied. </span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-fg">    441</span>         <span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Perhaps you meant https://</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>url<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">?</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-fg">    442</span>     )
<span class="ansi-green-fg">    444</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> host:
<span class="ansi-green-fg">    445</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> InvalidURL(<span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Invalid URL </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>url<span class="ansi-bold" style="color: rgb(175,95,135)">!r}</span><span style="color: rgb(175,0,0)">: No host supplied</span><span style="color: rgb(175,0,0)">"</span>)

<span class="ansi-red-intense-fg ansi-bold">MissingSchema</span>: Invalid URL "(0, 'C')": No scheme supplied. Perhaps you meant https://(0, 'C')?</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=38ea0998-bde8-4148-9901-5a374da0c09f">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [12]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">urls_file</span><span class="o">=</span> <span class="s1">'C:</span><span class="se">\\</span><span class="s1">uls</span><span class="se">\\</span><span class="s1">urls.txt'</span>  
<span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">urls</span><span class="p">):</span>  
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>  
    <span class="n">soup</span> <span class="o">=</span> <span class="n">BeautifulSoup</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">text</span><span class="p">,</span> <span class="s1">'html.parser'</span><span class="p">)</span>  
    <span class="nb">print</span><span class="p">(</span><span class="n">soup</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-intense-fg ansi-bold">---------------------------------------------------------------------------</span>
<span class="ansi-red-intense-fg ansi-bold">MissingSchema</span>                             Traceback (most recent call last)
Cell <span class="ansi-green-intense-fg ansi-bold">In[12], line 3</span>
<span class="ansi-green-fg">      1</span> urls_file<span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">C:</span><span class="ansi-bold" style="color: rgb(175,95,0)">\\</span><span style="color: rgb(175,0,0)">uls</span><span class="ansi-bold" style="color: rgb(175,95,0)">\\</span><span style="color: rgb(175,0,0)">urls.txt</span><span style="color: rgb(175,0,0)">'</span>  
<span class="ansi-green-fg">      2</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> url <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> <span style="color: rgb(0,135,0)">enumerate</span>(urls):  
<span class="ansi-green-intense-fg ansi-bold">----&gt; 3</span>     response <span style="color: rgb(98,98,98)">=</span> requests<span style="color: rgb(98,98,98)">.</span>get(url)  
<span class="ansi-green-fg">      4</span>     soup <span style="color: rgb(98,98,98)">=</span> BeautifulSoup(response<span style="color: rgb(98,98,98)">.</span>text, <span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">html.parser</span><span style="color: rgb(175,0,0)">'</span>)  
<span class="ansi-green-fg">      5</span>     <span style="color: rgb(0,135,0)">print</span>(soup)

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\api.py:73</span>, in <span class="ansi-cyan-fg">get</span><span class="ansi-blue-intense-fg ansi-bold">(url, params, **kwargs)</span>
<span class="ansi-green-fg">     62</span> <span class="ansi-bold" style="color: rgb(0,135,0)">def</span> <span style="color: rgb(0,0,255)">get</span>(url, params<span style="color: rgb(98,98,98)">=</span><span class="ansi-bold" style="color: rgb(0,135,0)">None</span>, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>kwargs):
<span class="ansi-green-fg">     63</span> <span style="color: rgb(188,188,188)">    </span><span style="color: rgb(175,0,0)">r</span><span style="color: rgb(175,0,0)">"""Sends a GET request.</span>
<span class="ansi-green-fg">     64</span> 
<span class="ansi-green-fg">     65</span> <span style="color: rgb(175,0,0)">    :param url: URL for the new :class:`Request` object.</span>
<span class="ansi-green-intense-fg ansi-bold">   (...)</span>
<span class="ansi-green-fg">     70</span> <span style="color: rgb(175,0,0)">    :rtype: requests.Response</span>
<span class="ansi-green-fg">     71</span> <span style="color: rgb(175,0,0)">    """</span>
<span class="ansi-green-intense-fg ansi-bold">---&gt; 73</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> request(<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">get</span><span style="color: rgb(175,0,0)">"</span>, url, params<span style="color: rgb(98,98,98)">=</span>params, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>kwargs)

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\api.py:59</span>, in <span class="ansi-cyan-fg">request</span><span class="ansi-blue-intense-fg ansi-bold">(method, url, **kwargs)</span>
<span class="ansi-green-fg">     55</span> <span style="color: rgb(95,135,135)"># By using the 'with' statement we are sure the session is closed, thus we</span>
<span class="ansi-green-fg">     56</span> <span style="color: rgb(95,135,135)"># avoid leaving sockets open which can trigger a ResourceWarning in some</span>
<span class="ansi-green-fg">     57</span> <span style="color: rgb(95,135,135)"># cases, and look like a memory leak in others.</span>
<span class="ansi-green-fg">     58</span> <span class="ansi-bold" style="color: rgb(0,135,0)">with</span> sessions<span style="color: rgb(98,98,98)">.</span>Session() <span class="ansi-bold" style="color: rgb(0,135,0)">as</span> session:
<span class="ansi-green-intense-fg ansi-bold">---&gt; 59</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> session<span style="color: rgb(98,98,98)">.</span>request(method<span style="color: rgb(98,98,98)">=</span>method, url<span style="color: rgb(98,98,98)">=</span>url, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>kwargs)

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\sessions.py:575</span>, in <span class="ansi-cyan-fg">Session.request</span><span class="ansi-blue-intense-fg ansi-bold">(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)</span>
<span class="ansi-green-fg">    562</span> <span style="color: rgb(95,135,135)"># Create the Request.</span>
<span class="ansi-green-fg">    563</span> req <span style="color: rgb(98,98,98)">=</span> Request(
<span class="ansi-green-fg">    564</span>     method<span style="color: rgb(98,98,98)">=</span>method<span style="color: rgb(98,98,98)">.</span>upper(),
<span class="ansi-green-fg">    565</span>     url<span style="color: rgb(98,98,98)">=</span>url,
<span class="ansi-green-intense-fg ansi-bold">   (...)</span>
<span class="ansi-green-fg">    573</span>     hooks<span style="color: rgb(98,98,98)">=</span>hooks,
<span class="ansi-green-fg">    574</span> )
<span class="ansi-green-intense-fg ansi-bold">--&gt; 575</span> prep <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>prepare_request(req)
<span class="ansi-green-fg">    577</span> proxies <span style="color: rgb(98,98,98)">=</span> proxies <span class="ansi-bold" style="color: rgb(175,0,255)">or</span> {}
<span class="ansi-green-fg">    579</span> settings <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>merge_environment_settings(
<span class="ansi-green-fg">    580</span>     prep<span style="color: rgb(98,98,98)">.</span>url, proxies, stream, verify, cert
<span class="ansi-green-fg">    581</span> )

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\sessions.py:486</span>, in <span class="ansi-cyan-fg">Session.prepare_request</span><span class="ansi-blue-intense-fg ansi-bold">(self, request)</span>
<span class="ansi-green-fg">    483</span>     auth <span style="color: rgb(98,98,98)">=</span> get_netrc_auth(request<span style="color: rgb(98,98,98)">.</span>url)
<span class="ansi-green-fg">    485</span> p <span style="color: rgb(98,98,98)">=</span> PreparedRequest()
<span class="ansi-green-intense-fg ansi-bold">--&gt; 486</span> p<span style="color: rgb(98,98,98)">.</span>prepare(
<span class="ansi-green-fg">    487</span>     method<span style="color: rgb(98,98,98)">=</span>request<span style="color: rgb(98,98,98)">.</span>method<span style="color: rgb(98,98,98)">.</span>upper(),
<span class="ansi-green-fg">    488</span>     url<span style="color: rgb(98,98,98)">=</span>request<span style="color: rgb(98,98,98)">.</span>url,
<span class="ansi-green-fg">    489</span>     files<span style="color: rgb(98,98,98)">=</span>request<span style="color: rgb(98,98,98)">.</span>files,
<span class="ansi-green-fg">    490</span>     data<span style="color: rgb(98,98,98)">=</span>request<span style="color: rgb(98,98,98)">.</span>data,
<span class="ansi-green-fg">    491</span>     json<span style="color: rgb(98,98,98)">=</span>request<span style="color: rgb(98,98,98)">.</span>json,
<span class="ansi-green-fg">    492</span>     headers<span style="color: rgb(98,98,98)">=</span>merge_setting(
<span class="ansi-green-fg">    493</span>         request<span style="color: rgb(98,98,98)">.</span>headers, <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>headers, dict_class<span style="color: rgb(98,98,98)">=</span>CaseInsensitiveDict
<span class="ansi-green-fg">    494</span>     ),
<span class="ansi-green-fg">    495</span>     params<span style="color: rgb(98,98,98)">=</span>merge_setting(request<span style="color: rgb(98,98,98)">.</span>params, <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>params),
<span class="ansi-green-fg">    496</span>     auth<span style="color: rgb(98,98,98)">=</span>merge_setting(auth, <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>auth),
<span class="ansi-green-fg">    497</span>     cookies<span style="color: rgb(98,98,98)">=</span>merged_cookies,
<span class="ansi-green-fg">    498</span>     hooks<span style="color: rgb(98,98,98)">=</span>merge_hooks(request<span style="color: rgb(98,98,98)">.</span>hooks, <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>hooks),
<span class="ansi-green-fg">    499</span> )
<span class="ansi-green-fg">    500</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> p

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\models.py:368</span>, in <span class="ansi-cyan-fg">PreparedRequest.prepare</span><span class="ansi-blue-intense-fg ansi-bold">(self, method, url, headers, files, data, params, auth, cookies, hooks, json)</span>
<span class="ansi-green-fg">    365</span> <span style="color: rgb(175,0,0)">"""Prepares the entire request with the given parameters."""</span>
<span class="ansi-green-fg">    367</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>prepare_method(method)
<span class="ansi-green-intense-fg ansi-bold">--&gt; 368</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>prepare_url(url, params)
<span class="ansi-green-fg">    369</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>prepare_headers(headers)
<span class="ansi-green-fg">    370</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>prepare_cookies(cookies)

File <span class="ansi-green-intense-fg ansi-bold">~\anaconda3\Lib\site-packages\requests\models.py:439</span>, in <span class="ansi-cyan-fg">PreparedRequest.prepare_url</span><span class="ansi-blue-intense-fg ansi-bold">(self, url, params)</span>
<span class="ansi-green-fg">    436</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> InvalidURL(<span style="color: rgb(98,98,98)">*</span>e<span style="color: rgb(98,98,98)">.</span>args)
<span class="ansi-green-fg">    438</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> scheme:
<span class="ansi-green-intense-fg ansi-bold">--&gt; 439</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> MissingSchema(
<span class="ansi-green-fg">    440</span>         <span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Invalid URL </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>url<span class="ansi-bold" style="color: rgb(175,95,135)">!r}</span><span style="color: rgb(175,0,0)">: No scheme supplied. </span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-fg">    441</span>         <span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Perhaps you meant https://</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>url<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">?</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-fg">    442</span>     )
<span class="ansi-green-fg">    444</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> host:
<span class="ansi-green-fg">    445</span>     <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> InvalidURL(<span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Invalid URL </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>url<span class="ansi-bold" style="color: rgb(175,95,135)">!r}</span><span style="color: rgb(175,0,0)">: No host supplied</span><span style="color: rgb(175,0,0)">"</span>)

<span class="ansi-red-intense-fg ansi-bold">MissingSchema</span>: Invalid URL "(0, 'C')": No scheme supplied. Perhaps you meant https://(0, 'C')?</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=cd6b25a2-c77c-4923-97b3-7772bd50435f">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [13]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">urls_file</span> <span class="o">=</span> <span class="s1">'C:</span><span class="se">\\</span><span class="s1">uls</span><span class="se">\\</span><span class="s1">urls.txt'</span>  
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">urls_file</span><span class="p">,</span> <span class="s2">"r"</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s1">'utf-8'</span><span class="p">)</span> <span class="k">as</span> <span class="n">file</span><span class="p">:</span>  
    <span class="n">urls</span> <span class="o">=</span> <span class="p">[</span><span class="n">url</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="n">file</span><span class="p">]</span>  
<span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="n">urls</span><span class="p">:</span>  
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>  
    <span class="n">soup</span> <span class="o">=</span> <span class="n">BeautifulSoup</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">text</span><span class="p">,</span> <span class="s1">'html.parser'</span><span class="p">)</span>  
    <span class="nb">print</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>&lt;Response [200]&gt;
&lt;Response [200]&gt;
</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=ec458082-65bc-4258-8f40-d72dd89a2a12">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [14]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">urls_file</span> <span class="o">=</span> <span class="s1">'C:</span><span class="se">\\</span><span class="s1">uls</span><span class="se">\\</span><span class="s1">urls.txt'</span>  
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">urls_file</span><span class="p">,</span> <span class="s2">"r"</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s1">'utf-8'</span><span class="p">)</span> <span class="k">as</span> <span class="n">file</span><span class="p">:</span>  
    <span class="n">urls</span> <span class="o">=</span> <span class="p">[</span><span class="n">url</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="n">file</span><span class="p">]</span>  
<span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="n">urls</span><span class="p">:</span>  
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>  
    <span class="n">soup</span> <span class="o">=</span> <span class="n">BeautifulSoup</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">text</span><span class="p">,</span> <span class="s1">'html.parser'</span><span class="p">)</span>  
    <span class="n">links</span> <span class="o">=</span> <span class="n">soup</span><span class="o">.</span><span class="n">find_all</span><span class="p">(</span><span class="s1">'a'</span><span class="p">,</span> <span class="n">class_</span><span class="o">=</span><span class="s1">'s-book-title'</span><span class="p">)</span>  
    <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">link</span><span class="o">.</span><span class="n">get_text</span><span class="p">(</span><span class="n">strip</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="k">for</span> <span class="n">link</span> <span class="ow">in</span> <span class="n">links</span><span class="p">]</span>  
    <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">:</span>  
        <span class="nb">print</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> 
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>无敌六皇子
皇后请自重，我真不想代替陛下呀！
寒门枭士
得分凶猛
网游开局合成顶级神装
超神玩家
开局合欢宗，被师姐拿捏命脉
开局截胡五虎上将
都穿越了还不造反啊！
极道剑尊
全球灾变之末日游戏
国家送媳妇？来一打，都收了
神级进化动物杀手团
万古龙帝
凡尘飞仙
网游之全服公敌
武逆九千界
吞噬古帝
最强末世进化
鸿蒙霸体诀
第一瞳术师
末世天灾：我在空间搞养殖
规则怪谈，欢迎来到甜蜜的家
明撩暗恋！霍律师下手轻点
盛妆山河
废后重生，携废太子夺前夫江山
春棠欲醉
重生七零再高嫁
喜棺开，百鬼散，王妃她从地狱来
医妃凶猛，带着残王风风火火抢天下
我在末世当包租婆
全师门就我一个废柴
重生七零，我把糙汉老公拿下了
直播算命太准，全网蹲守吃瓜
被王爷赐死，医妃潇洒转身嫁皇叔
大佬归来，假千金她不装了
逃荒后三岁福宝被团宠了
小夫人一身反骨，大叔乖乖臣服
嫡女重生，惹上暴君逃不掉
被病娇邪神强吻！我在恐怖直播爆火了
</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=810e7180-502e-47c3-b923-ae21a57b4f45">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [15]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">urls_file</span> <span class="o">=</span> <span class="s1">'C:</span><span class="se">\\</span><span class="s1">uls</span><span class="se">\\</span><span class="s1">urls.txt'</span>  
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">urls_file</span><span class="p">,</span> <span class="s2">"r"</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s1">'utf-8'</span><span class="p">)</span> <span class="k">as</span> <span class="n">file</span><span class="p">:</span>  
    <span class="n">urls</span> <span class="o">=</span> <span class="p">[</span><span class="n">url</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="n">file</span><span class="p">]</span>  
<span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="n">urls</span><span class="p">:</span>  
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>  
    <span class="n">soup</span> <span class="o">=</span> <span class="n">BeautifulSoup</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">text</span><span class="p">,</span> <span class="s1">'html.parser'</span><span class="p">)</span>  
    <span class="n">links</span> <span class="o">=</span> <span class="n">soup</span><span class="o">.</span><span class="n">find_all</span><span class="p">(</span><span class="s1">'a'</span><span class="p">,</span> <span class="n">class_</span><span class="o">=</span><span class="s1">'s-book-title'</span><span class="p">)</span>  
    <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">link</span><span class="o">.</span><span class="n">get_text</span><span class="p">(</span><span class="n">strip</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="k">for</span> <span class="n">link</span> <span class="ow">in</span> <span class="n">links</span><span class="p">]</span>  
    <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">:</span>  
        <span class="nb">print</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
    <span class="k">if</span> <span class="n">urls</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">urls</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span>  
        <span class="nb">print</span><span class="p">(</span><span class="s2">""</span><span class="p">)</span>  
        
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>无敌六皇子
皇后请自重，我真不想代替陛下呀！
寒门枭士
得分凶猛
网游开局合成顶级神装
超神玩家
开局合欢宗，被师姐拿捏命脉
开局截胡五虎上将
都穿越了还不造反啊！
极道剑尊
全球灾变之末日游戏
国家送媳妇？来一打，都收了
神级进化动物杀手团
万古龙帝
凡尘飞仙
网游之全服公敌
武逆九千界
吞噬古帝
最强末世进化
鸿蒙霸体诀

第一瞳术师
末世天灾：我在空间搞养殖
规则怪谈，欢迎来到甜蜜的家
明撩暗恋！霍律师下手轻点
盛妆山河
废后重生，携废太子夺前夫江山
春棠欲醉
重生七零再高嫁
喜棺开，百鬼散，王妃她从地狱来
医妃凶猛，带着残王风风火火抢天下
我在末世当包租婆
全师门就我一个废柴
重生七零，我把糙汉老公拿下了
直播算命太准，全网蹲守吃瓜
被王爷赐死，医妃潇洒转身嫁皇叔
大佬归来，假千金她不装了
逃荒后三岁福宝被团宠了
小夫人一身反骨，大叔乖乖臣服
嫡女重生，惹上暴君逃不掉
被病娇邪神强吻！我在恐怖直播爆火了
</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=a584fa05-d349-4756-a39a-ed067e4991e4">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [17]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">excel_path</span> <span class="o">=</span> <span class="s1">'C:</span><span class="se">\\</span><span class="s1">uls</span><span class="se">\\</span><span class="s1">ABC.xlsx'</span>  
<span class="n">urls_file</span> <span class="o">=</span> <span class="s1">'C:</span><span class="se">\\</span><span class="s1">uls</span><span class="se">\\</span><span class="s1">urls.txt'</span>  
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">urls_file</span><span class="p">,</span> <span class="s2">"r"</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s1">'utf-8'</span><span class="p">)</span> <span class="k">as</span> <span class="n">file</span><span class="p">:</span>  
    <span class="n">urls</span> <span class="o">=</span> <span class="p">[</span><span class="n">url</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="n">file</span><span class="p">]</span>  
<span class="n">n1</span> <span class="o">=</span> <span class="p">[]</span>  
<span class="n">n2</span> <span class="o">=</span> <span class="p">[]</span>  
<span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="n">urls</span><span class="p">:</span>  
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>  
    <span class="n">soup</span> <span class="o">=</span> <span class="n">BeautifulSoup</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">text</span><span class="p">,</span> <span class="s1">'html.parser'</span><span class="p">)</span>  
    <span class="n">links</span> <span class="o">=</span> <span class="n">soup</span><span class="o">.</span><span class="n">find_all</span><span class="p">(</span><span class="s1">'a'</span><span class="p">,</span> <span class="n">class_</span><span class="o">=</span><span class="s1">'s-book-title'</span><span class="p">)</span>  
    <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">link</span><span class="o">.</span><span class="n">get_text</span><span class="p">(</span><span class="n">strip</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="k">for</span> <span class="n">link</span> <span class="ow">in</span> <span class="n">links</span><span class="p">]</span>  
    <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">:</span>  
        <span class="nb">print</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>  
    <span class="k">if</span> <span class="n">urls</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">urls</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span>  
        <span class="nb">print</span><span class="p">()</span>
<span class="k">with</span> <span class="n">pd</span><span class="o">.</span><span class="n">ExcelWriter</span><span class="p">(</span><span class="n">excel_path</span><span class="p">)</span> <span class="k">as</span> <span class="n">writer</span><span class="p">:</span>  
    <span class="n">df1</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">n1</span><span class="p">)</span>  
    <span class="n">df1</span><span class="o">.</span><span class="n">to_excel</span><span class="p">(</span><span class="n">writer</span><span class="p">,</span> <span class="n">sheet_name</span><span class="o">=</span><span class="s1">'sheet1'</span><span class="p">)</span>  
    <span class="n">df2</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">n2</span><span class="p">)</span>  
    <span class="n">df2</span><span class="o">.</span><span class="n">to_excel</span><span class="p">(</span><span class="n">writer</span><span class="p">,</span> <span class="n">sheet_name</span><span class="o">=</span><span class="s1">'sheet2'</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>无敌六皇子
皇后请自重，我真不想代替陛下呀！
寒门枭士
得分凶猛
网游开局合成顶级神装
超神玩家
开局合欢宗，被师姐拿捏命脉
开局截胡五虎上将
都穿越了还不造反啊！
极道剑尊
全球灾变之末日游戏
国家送媳妇？来一打，都收了
神级进化动物杀手团
万古龙帝
凡尘飞仙
网游之全服公敌
武逆九千界
吞噬古帝
最强末世进化
鸿蒙霸体诀

第一瞳术师
末世天灾：我在空间搞养殖
规则怪谈，欢迎来到甜蜜的家
明撩暗恋！霍律师下手轻点
盛妆山河
废后重生，携废太子夺前夫江山
春棠欲醉
重生七零再高嫁
喜棺开，百鬼散，王妃她从地狱来
医妃凶猛，带着残王风风火火抢天下
我在末世当包租婆
全师门就我一个废柴
重生七零，我把糙汉老公拿下了
直播算命太准，全网蹲守吃瓜
被王爷赐死，医妃潇洒转身嫁皇叔
大佬归来，假千金她不装了
逃荒后三岁福宝被团宠了
小夫人一身反骨，大叔乖乖臣服
嫡女重生，惹上暴君逃不掉
被病娇邪神强吻！我在恐怖直播爆火了
</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=59b2d31c-7cdd-4e0a-8710-8b01f0991a01">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [19]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">excel_path</span> <span class="o">=</span> <span class="s1">'C:</span><span class="se">\\</span><span class="s1">uls</span><span class="se">\\</span><span class="s1">ABC.xlsx'</span>  
<span class="n">urls_file</span> <span class="o">=</span> <span class="s1">'C:</span><span class="se">\\</span><span class="s1">uls</span><span class="se">\\</span><span class="s1">urls.txt'</span>  
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">urls_file</span><span class="p">,</span> <span class="s2">"r"</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s1">'utf-8'</span><span class="p">)</span> <span class="k">as</span> <span class="n">file</span><span class="p">:</span>  
    <span class="n">urls</span> <span class="o">=</span> <span class="p">[</span><span class="n">url</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="n">file</span><span class="p">]</span>  
<span class="n">n1</span> <span class="o">=</span> <span class="p">[]</span>  
<span class="n">n2</span> <span class="o">=</span> <span class="p">[]</span>  
<span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="n">urls</span><span class="p">:</span>  
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>  
    <span class="n">soup</span> <span class="o">=</span> <span class="n">BeautifulSoup</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">text</span><span class="p">,</span> <span class="s1">'html.parser'</span><span class="p">)</span>  
    <span class="n">links</span> <span class="o">=</span> <span class="n">soup</span><span class="o">.</span><span class="n">find_all</span><span class="p">(</span><span class="s1">'a'</span><span class="p">,</span> <span class="n">class_</span><span class="o">=</span><span class="s1">'s-book-title'</span><span class="p">)</span>  
    <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">link</span><span class="o">.</span><span class="n">get_text</span><span class="p">(</span><span class="n">strip</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="k">for</span> <span class="n">link</span> <span class="ow">in</span> <span class="n">links</span><span class="p">]</span>  
    <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">:</span>  
        <span class="nb">print</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
    <span class="k">if</span> <span class="n">urls</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>  
        <span class="n">n1</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">names</span><span class="p">)</span>  
    <span class="k">if</span> <span class="n">urls</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">urls</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span>  
        <span class="nb">print</span><span class="p">()</span>   
        <span class="n">n2</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">names</span><span class="p">)</span> 
<span class="k">with</span> <span class="n">pd</span><span class="o">.</span><span class="n">ExcelWriter</span><span class="p">(</span><span class="n">excel_path</span><span class="p">)</span> <span class="k">as</span> <span class="n">writer</span><span class="p">:</span>  
    <span class="n">df1</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">n1</span><span class="p">)</span>  
    <span class="n">df1</span><span class="o">.</span><span class="n">to_excel</span><span class="p">(</span><span class="n">writer</span><span class="p">,</span> <span class="n">sheet_name</span><span class="o">=</span><span class="s1">'sheet1'</span><span class="p">)</span>  
    <span class="n">df2</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">n2</span><span class="p">)</span>  
    <span class="n">df2</span><span class="o">.</span><span class="n">to_excel</span><span class="p">(</span><span class="n">writer</span><span class="p">,</span> <span class="n">sheet_name</span><span class="o">=</span><span class="s1">'sheet2'</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>无敌六皇子
皇后请自重，我真不想代替陛下呀！
寒门枭士
得分凶猛
网游开局合成顶级神装
超神玩家
开局合欢宗，被师姐拿捏命脉
开局截胡五虎上将
都穿越了还不造反啊！
极道剑尊
全球灾变之末日游戏
国家送媳妇？来一打，都收了
神级进化动物杀手团
万古龙帝
凡尘飞仙
网游之全服公敌
武逆九千界
吞噬古帝
最强末世进化
鸿蒙霸体诀

第一瞳术师
末世天灾：我在空间搞养殖
规则怪谈，欢迎来到甜蜜的家
明撩暗恋！霍律师下手轻点
盛妆山河
废后重生，携废太子夺前夫江山
春棠欲醉
重生七零再高嫁
喜棺开，百鬼散，王妃她从地狱来
医妃凶猛，带着残王风风火火抢天下
我在末世当包租婆
全师门就我一个废柴
重生七零，我把糙汉老公拿下了
直播算命太准，全网蹲守吃瓜
被王爷赐死，医妃潇洒转身嫁皇叔
大佬归来，假千金她不装了
逃荒后三岁福宝被团宠了
小夫人一身反骨，大叔乖乖臣服
嫡女重生，惹上暴君逃不掉
被病娇邪神强吻！我在恐怖直播爆火了
</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=bd5ec034-109e-4859-a57d-319f713a6b15">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [25]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">excel_path</span> <span class="o">=</span> <span class="s1">'C:</span><span class="se">\\</span><span class="s1">uls</span><span class="se">\\</span><span class="s1">ABC.xlsx'</span>  
<span class="n">urls_file</span> <span class="o">=</span> <span class="s1">'C:</span><span class="se">\\</span><span class="s1">uls</span><span class="se">\\</span><span class="s1">urls.txt'</span>  
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">urls_file</span><span class="p">,</span> <span class="s2">"r"</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s1">'utf-8'</span><span class="p">)</span> <span class="k">as</span> <span class="n">file</span><span class="p">:</span>  
    <span class="n">urls</span> <span class="o">=</span> <span class="p">[</span><span class="n">url</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="n">file</span><span class="p">]</span>  
<span class="n">n1</span> <span class="o">=</span> <span class="p">[]</span>  
<span class="n">n2</span> <span class="o">=</span> <span class="p">[]</span>  
<span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="n">urls</span><span class="p">:</span>  
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>  
    <span class="n">soup</span> <span class="o">=</span> <span class="n">BeautifulSoup</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">text</span><span class="p">,</span> <span class="s1">'html.parser'</span><span class="p">)</span>  
    <span class="n">links</span> <span class="o">=</span> <span class="n">soup</span><span class="o">.</span><span class="n">find_all</span><span class="p">(</span><span class="s1">'a'</span><span class="p">,</span> <span class="n">class_</span><span class="o">=</span><span class="s1">'s-book-title'</span><span class="p">)</span>  
    <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">link</span><span class="o">.</span><span class="n">get_text</span><span class="p">(</span><span class="n">strip</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="k">for</span> <span class="n">link</span> <span class="ow">in</span> <span class="n">links</span><span class="p">]</span>  
    <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">:</span>  
        <span class="nb">print</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
    <span class="k">if</span> <span class="n">urls</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>  
        <span class="n">n1</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">names</span><span class="p">)</span>  
    <span class="k">else</span><span class="p">:</span>  
        <span class="n">n2</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">names</span><span class="p">)</span> 
    <span class="k">if</span> <span class="n">urls</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">urls</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span>  
        <span class="nb">print</span><span class="p">()</span>
<span class="k">with</span> <span class="n">pd</span><span class="o">.</span><span class="n">ExcelWriter</span><span class="p">(</span><span class="n">excel_path</span><span class="p">)</span> <span class="k">as</span> <span class="n">writer</span><span class="p">:</span>  
    <span class="n">df1</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">n1</span><span class="p">)</span>  
    <span class="n">df1</span><span class="o">.</span><span class="n">to_excel</span><span class="p">(</span><span class="n">writer</span><span class="p">,</span> <span class="n">sheet_name</span><span class="o">=</span><span class="s1">'sheet1'</span><span class="p">)</span>  
    <span class="n">df2</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">n2</span><span class="p">)</span>  
    <span class="n">df2</span><span class="o">.</span><span class="n">to_excel</span><span class="p">(</span><span class="n">writer</span><span class="p">,</span> <span class="n">sheet_name</span><span class="o">=</span><span class="s1">'sheet2'</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>无敌六皇子
皇后请自重，我真不想代替陛下呀！
寒门枭士
得分凶猛
网游开局合成顶级神装
超神玩家
开局合欢宗，被师姐拿捏命脉
开局截胡五虎上将
都穿越了还不造反啊！
极道剑尊
全球灾变之末日游戏
国家送媳妇？来一打，都收了
神级进化动物杀手团
万古龙帝
凡尘飞仙
网游之全服公敌
武逆九千界
吞噬古帝
最强末世进化
鸿蒙霸体诀

第一瞳术师
末世天灾：我在空间搞养殖
规则怪谈，欢迎来到甜蜜的家
明撩暗恋！霍律师下手轻点
盛妆山河
废后重生，携废太子夺前夫江山
春棠欲醉
重生七零再高嫁
喜棺开，百鬼散，王妃她从地狱来
医妃凶猛，带着残王风风火火抢天下
我在末世当包租婆
全师门就我一个废柴
重生七零，我把糙汉老公拿下了
直播算命太准，全网蹲守吃瓜
被王爷赐死，医妃潇洒转身嫁皇叔
大佬归来，假千金她不装了
逃荒后三岁福宝被团宠了
小夫人一身反骨，大叔乖乖臣服
嫡女重生，惹上暴君逃不掉
被病娇邪神强吻！我在恐怖直播爆火了
</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=e3268b6d-4009-4575-a750-519aa344d1fb">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [33]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1">#本代码是解析了两个小说的网页，提取每个网页内出现的小说名，保存到名为ABC的Excel不同的sheet中</span>

<span class="c1">#引用一些库</span>
<span class="kn">import</span> <span class="nn">requests</span>  
<span class="kn">from</span> <span class="nn">bs4</span> <span class="kn">import</span> <span class="n">BeautifulSoup</span>  
<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span> 
<span class="c1">#要保存到的Excel的路径</span>
<span class="n">excel_path</span> <span class="o">=</span> <span class="s1">'C:</span><span class="se">\\</span><span class="s1">uls</span><span class="se">\\</span><span class="s1">ABC.xlsx'</span> 
<span class="c1">#保存URL的TXT的路径</span>
<span class="n">urls_file</span> <span class="o">=</span> <span class="s1">'C:</span><span class="se">\\</span><span class="s1">uls</span><span class="se">\\</span><span class="s1">urls.txt'</span>  
<span class="c1">#读取URL列表</span>
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">urls_file</span><span class="p">,</span> <span class="s2">"r"</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s1">'utf-8'</span><span class="p">)</span> <span class="k">as</span> <span class="n">file</span><span class="p">:</span>  
    <span class="c1">#去除每个URL前后的空白字符（不加不行，在网上学习的）</span>
    <span class="n">urls</span> <span class="o">=</span> <span class="p">[</span><span class="n">url</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="n">file</span><span class="p">]</span>  
<span class="c1">#初始化两个空列表，用于分别存储两个URL中提取到的小说名 </span>
<span class="n">n1</span> <span class="o">=</span> <span class="p">[]</span> 
<span class="n">n2</span> <span class="o">=</span> <span class="p">[]</span>
<span class="c1">#遍历URL列表中的每个URL</span>
<span class="k">for</span> <span class="n">url</span> <span class="ow">in</span> <span class="n">urls</span><span class="p">:</span>  
    <span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>  
    <span class="n">soup</span> <span class="o">=</span> <span class="n">BeautifulSoup</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">text</span><span class="p">,</span> <span class="s1">'html.parser'</span><span class="p">)</span> 
    <span class="c1">#小说名的标签是class为's-book-title'的&lt;a&gt;标签</span>
    <span class="n">links</span> <span class="o">=</span> <span class="n">soup</span><span class="o">.</span><span class="n">find_all</span><span class="p">(</span><span class="s1">'a'</span><span class="p">,</span> <span class="n">class_</span><span class="o">=</span><span class="s1">'s-book-title'</span><span class="p">)</span>  
    <span class="c1">#提取&lt;a&gt;标签中的文本内容，并移除两端的空白字符，生成小说名列表</span>
    <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="n">link</span><span class="o">.</span><span class="n">get_text</span><span class="p">(</span><span class="n">strip</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="k">for</span> <span class="n">link</span> <span class="ow">in</span> <span class="n">links</span><span class="p">]</span>  
    <span class="c1">#打印出全部小说名字</span>
    <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">:</span>  
        <span class="nb">print</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
    <span class="c1">#判断当前URL是否是列表中的最后一个URL，如果不是，则打印一个空行以区分两个URL提取出的内容    </span>
    <span class="k">if</span> <span class="n">urls</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">urls</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span>
        <span class="nb">print</span><span class="p">()</span>
    <span class="c1">#判断当前URL是否是列表中的第一个URL    </span>
    <span class="k">if</span> <span class="n">urls</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
        <span class="c1">#如果是第一个URL，则将提取到的小说名添加到n1中</span>
        <span class="n">n1</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">names</span><span class="p">)</span>
        <span class="c1">#否则，则将提取到的小说名添加到n2中</span>
    <span class="k">else</span><span class="p">:</span>  
        <span class="n">n2</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">names</span><span class="p">)</span>
<span class="c1">#创建一个Excel写入器对象，用于写入Excel文件</span>
<span class="k">with</span> <span class="n">pd</span><span class="o">.</span><span class="n">ExcelWriter</span><span class="p">(</span><span class="n">excel_path</span><span class="p">)</span> <span class="k">as</span> <span class="n">writer</span><span class="p">:</span>
    <span class="c1">#将两个列表转换为DataFrame，并写入相应的sheet中</span>
    <span class="n">df1</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">n1</span><span class="p">,</span><span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="s1">'男生小说'</span><span class="p">])</span>  
    <span class="n">df1</span><span class="o">.</span><span class="n">to_excel</span><span class="p">(</span><span class="n">writer</span><span class="p">,</span> <span class="n">sheet_name</span><span class="o">=</span><span class="s1">'sheet1'</span><span class="p">)</span>
    <span class="n">df2</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">n2</span><span class="p">,</span><span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="s1">'女生小说'</span><span class="p">])</span>  
    <span class="n">df2</span><span class="o">.</span><span class="n">to_excel</span><span class="p">(</span><span class="n">writer</span><span class="p">,</span> <span class="n">sheet_name</span><span class="o">=</span><span class="s1">'sheet2'</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>无敌六皇子
皇后请自重，我真不想代替陛下呀！
寒门枭士
得分凶猛
网游开局合成顶级神装
超神玩家
开局合欢宗，被师姐拿捏命脉
开局截胡五虎上将
都穿越了还不造反啊！
极道剑尊
全球灾变之末日游戏
国家送媳妇？来一打，都收了
神级进化动物杀手团
万古龙帝
凡尘飞仙
网游之全服公敌
武逆九千界
吞噬古帝
最强末世进化
鸿蒙霸体诀

第一瞳术师
末世天灾：我在空间搞养殖
规则怪谈，欢迎来到甜蜜的家
明撩暗恋！霍律师下手轻点
盛妆山河
废后重生，携废太子夺前夫江山
春棠欲醉
重生七零再高嫁
喜棺开，百鬼散，王妃她从地狱来
医妃凶猛，带着残王风风火火抢天下
我在末世当包租婆
全师门就我一个废柴
重生七零，我把糙汉老公拿下了
直播算命太准，全网蹲守吃瓜
被王爷赐死，医妃潇洒转身嫁皇叔
大佬归来，假千金她不装了
逃荒后三岁福宝被团宠了
小夫人一身反骨，大叔乖乖臣服
嫡女重生，惹上暴君逃不掉
被病娇邪神强吻！我在恐怖直播爆火了
</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=21eba6ff-84ad-401f-a974-d2d0abad53e9">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span> 
</pre></div>
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>
